链表
yangalbert
这个作者很懒,什么都没留下…
展开
-
判断单链表是否有环
链表结构:struct List{ int data; List* next;};(1)判断单链表是否有环采用追赶法,设置两个指针p和q,从链表表头开始,p每一步走两个节点,q每一步走一个节点,如果链表有环则p和q必相遇。代码如下// 判断链表是否有环,时间复杂度O(n),空间复杂度O(1)List* hasLoopInList( List* head )原创 2012-03-23 10:45:01 · 959 阅读 · 0 评论 -
单链表快速排序算法实现
单链表结构:typedef int ElemType;typedef struct ListNode* List;struct ListNode{ ElemType key List next;};实现代码如下:void QuickSort( List head, List tail ){ if ( head->next == tail || he原创 2012-05-17 20:39:13 · 7819 阅读 · 8 评论 -
归并排序:数组和单链表实现
1. 数组的归并排序// 归并排序的递归调用void mergeSort(int* A, int beg, int end, int* B){ if ( beg >= end ) { return; } int mid = (beg + end ) / 2; mergeSort( A, beg, mid, B); mergeSort( A, mid+1, end, B)原创 2012-09-03 13:29:54 · 3738 阅读 · 0 评论