码迷,mamicode.com
首页 >  
搜索关键字:有序链表    ( 417个结果
leetcode 刷题之路 93 Merge k Sorted Lists
将k个有序链表合并成一个有序链表。...
分类:其他好文   时间:2014-08-16 21:06:21    阅读次数:186
算法题:合并两个有序的链表
题目:已知有两个有序的单链表,其头指针分别为head1和head2,实现将这两个链表合并的函数: Node* ListMerge(Node *head1,Node *head2) 这个算法很像我们排序算法中的归并排序,只能说“很像”,因为思想是一样的,但是这个与归并排序还是有区别的,区别如下: 1.归并排序是针对有序数组,而这里是有序链表; 2.归并排序排序的时间复杂度为o(nlogn),而这里的时间复杂度最坏情况下为O(m+n),最好的情况下为...
分类:其他好文   时间:2014-08-04 17:43:47    阅读次数:296
Merge Two Sorted Lists
问题:有序合并两个有序链表分析:归并排序的合并部分class Solution {public: ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { ListNode *helper=new ListNode(0); ...
分类:其他好文   时间:2014-08-02 18:17:03    阅读次数:170
Remove Duplicates from Sorted List
问题:将有序链表中的重复元素删除分析:由于有序,所以p结点是否重复只需要和它的前一节点比较是否相等就可以了,我们可以定义一个helper新头结点链表 将p结点与新链表的尾结点比较,若不相等则加入新链表中。class Solution{public: ListNode *deleteDup...
分类:其他好文   时间:2014-08-02 17:47:33    阅读次数:210
将两个有序链表和为另外一个链表,并保证有序
直接递归 代码: #include #include using namespace std; typedef struct listNode{ int key; struct listNode *pNext; } * pNode,Node; void createNode(pNode &pHead){ bool isFirst=true; int temp; sc...
分类:其他好文   时间:2014-07-30 20:57:14    阅读次数:174
链表(三)——链表删除冗余结点&插入结点到有序链表
1.一个以递增方式排列的链表,去掉链表中的冗余值。 思路一:设有两个指针p和q,使p不动,q依次往后循环直到p->data不等于q->data,再将中间的冗余数据删除。 思路二:设有两个指针p和q,使p在前,q在后,只要找到一个冗余就删除一个,依次往后删除。 输入的链表:1 3 3 3 3 6 6 8 9 10 删除后的链表:1 3 6 8 9 10 比较两种思路,思路二的想法相比于思路...
分类:其他好文   时间:2014-07-19 23:26:29    阅读次数:318
合并两个有序链表
题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 (hint: 请务必使用链表。) 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为两个整数n和m(0 下面一行包括n个数t(1 输出: 对应每个测试案例, 若有结果,输出相应的链表。否则,输出N...
分类:其他好文   时间:2014-07-18 23:10:26    阅读次数:406
算法设计分析(44页)
分别以两个(带头结点的)循环有序链表表示集合A和B,完成这两个集合并集的操作:代码如下:#includetypedef struct LNode { int data ; struct LNode *next ;}LNode , *LinkList ;void union_OL(L...
分类:其他好文   时间:2014-07-16 19:26:37    阅读次数:211
两个有序链表连接(归并排序中用到的)
刚才写了k个,顺手写个2个的,在链表的归并排序中很有用,效率非常好 1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode next;...
分类:其他好文   时间:2014-07-16 17:42:41    阅读次数:275
链表操作时巧用指针的指针
比如在插入有序链表的过程中,一般情况下要使用俩指针来遍历,而后还要判断是否在第一个位置插入;利用指针的指针后不需要另外考虑这种特殊情况。 代码: #include #include struct node{ int data; struct node *next; } *head; //sorted link-list void insert(struct no...
分类:其他好文   时间:2014-07-13 15:38:13    阅读次数:198
417条   上一页 1 ... 38 39 40 41 42 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!