单向链表反转,一道常见的面试题,动手实现下。 原理就是把cur节点的next节点保存,把next指向pre节点,把之前保存的next节点赋给cur,不断循环直到next节点为NULL。注意下,退出循环后要把cur节点next指向pre节点。把cur节点返回,大功告成。 如果不用 ...
数据结构这东西,理解起来不算难,但是实现难度就不小了,虽然思路很清晰,但不知道从何下手还有语言的细节问题一直是阻碍初学者的主要障碍 比如我 。今天用了一下午时间终于独立完成了链表操作。 找网上的代码,大多用了结构体,还有些并不适合刚学c 或者数据结构的人看,于是我是用类写的,代码比较符合学生的习惯和水平。 先看类定义 两个类,node用来表示结点,node next,表示next是指向node型的 ...
2016-04-02 18:30 0 6306 推荐指数:
单向链表反转,一道常见的面试题,动手实现下。 原理就是把cur节点的next节点保存,把next指向pre节点,把之前保存的next节点赋给cur,不断循环直到next节点为NULL。注意下,退出循环后要把cur节点next指向pre节点。把cur节点返回,大功告成。 如果不用 ...
...
/*实现单向链表的增删改查 */#include <malloc.h>#include <stdio.h>#include<stdlib.h>#define LEN sizeof(node) typedef struct node{ int num ...
最近复习了线性表,对链表这一部分遗忘最大,所以手动实现一下单链表的增,删,改,查,倒置等等加深理解,附上C++代码: void tailCreate(linkList& l){ l = (linkList)malloc(sizeof(LNode)); int data ...
LinkList.h LinkList.cpp main.cpp ...
#include<iostream> #include <algorithm> #include <vector> #include <set> ...
, 这里用C++构造了一个双向链表,提供了对双向链表的插入、查找、删除节点、排序等功能,其中排序提供了插入 ...
#include <iostream> //迭代法 class Node{ public: int value; Node* next; Node(int ...