链表相关操作二(两种遍历方式)
2013-03-11 07:16
302 查看
1、头结点不存放Value
2、头结点存放Value
void reverseLinkList(PNODE head) { NODE *p,*q,*r; p = head->pNext; if(p==NULL || p->pNext==NULL) { return;//说明没有元素或只有一个元素 } q = p->pNext; while(q) { r = q->pNext; p->pNext = r;//将q删除 q->pNext = head->pNext;//将q插入到第一个结点 head->pNext = q; q = r; } }
2、头结点存放Value
Node * reverse(Node * head) { if(head == NULL) return head; Node *p = head->next; if(p == NULL) return head; Node *q = p->next; if(q == NULL) { head->next = NULL; p->next = head; return p; } head->next = NULL; while(q) { p->next = head; head = p; p = q; q = q->next; } p->next = head; return p; }
相关文章推荐
- haffmanTree(哈夫曼树)的相关操作 + 两种遍历哈弗曼算法+ 无递归遍历+ 叶子节点遍历
- 单向链表的相关操作(创建,遍历,插入,删除,逆置)
- php数组,数组相关操作及数组三种遍历方式
- 单向链表的相关操作总结:创建、删除、查找、排序、统计链表大小、链表的反转和遍历等
- php mysqli两种操作方式示例2
- java中Map的两种不同遍历、迭代方式及比较
- python dict 两种遍历方式的比较
- TreeMap的两种遍历方式
- 链表---在有序链表中寻找中点的两种方式
- Java中HashMap遍历的两种方式
- Map集合遍历的两种方式比较图解
- 问题11:双链表的相关操作
- 两种方式遍历二叉树--递归方式和非递归方式
- Java中HashMap遍历的两种方式
- JAVA中for循环的两种遍历方式
- win32相关对共享资源操作几种方式
- Java程序操作Oracle两种方式之简单实现
- Java中HashMap遍历的两种方式
- 二叉树的非递归前序、中序、后序遍历(两种方式的非递归后序遍历)
- 操作文件的两种方式Channel or Input/OutPstream