说明:本文仅供学习交流,转载请标明出处,欢迎转载! 题目:已知有两个有序的单链表,其头指针分别为head1和head2,实现将这两个链表合并的函数: Node* ListMerge(Node *head1,Node *head2) 这个算法很像我们排序算法中的归并排序,只能说“很像”,因为思想是一样 ...
分类:
编程语言 时间:
2016-09-06 21:09:43
阅读次数:
178
bzoj1483 题意: N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色。 题解: 给每个颜色建一个链表。先预处理出答案,然后每次修改颜色时将两个链表合并,同时将修改后颜色对答案的贡献重新计算(如果两个节点的位置相差大于1说明中间有一段颜色, ...
分类:
其他好文 时间:
2016-07-09 23:48:43
阅读次数:
588
问题描述:给定两个链表的头指针,并且这两个链表都已经有顺序了,将这两个链表合并成一个链表,并且使合并后的链表依然有序。 分析:这个问题有点类似于归并排序中的归并步骤。具体思想如下: 首先比较两个链表的头结点,并将较小的作为合并后链表的头节点,然后移动指针,再比较两个指针的节点,以此类推, 如果其中一 ...
分类:
编程语言 时间:
2016-05-11 19:40:19
阅读次数:
177
#include<stdio.h>
#include<stdlib.h>
#defineN10
typedefstructstudent
{
intnum;
floatscore;
structstudent*next;
}stu;
stu*creat()
{
inti;
stu*p,*head=NULL,*tail=head;
for(i=0;i<N;i++)
{
p=(stu*)malloc(sizeof(stu));
scanf("%d%f",&p->nu..
分类:
其他好文 时间:
2016-02-19 14:31:55
阅读次数:
239
说明:这篇文章是学习交流,转载请注明出处。欢迎转载! 题目:已知有两个有序的单链表,其头指针分别为head1和head2。实现将这两个链表合并的函数: Node* ListMerge(Node *head1,Node *head2) 这个算法非常像我们排序算法中的归并排序。仅仅...
分类:
编程语言 时间:
2015-08-25 21:08:56
阅读次数:
1416
两个有序单链表的合并:其实本程序可以实现任意两个单链表的合并排序,思想就是 *1.建两个链表2.合并两个链表3.对合并后的链表排序4.打印 *关键函数:linkDList 直接连接两个链表;selectsort 单链表的选择排序*/
分类:
编程语言 时间:
2015-05-27 09:51:52
阅读次数:
151
Title:思路:使用快慢指针,当快指针指向链表尾部时,将慢指针所指即以后反转,再将前后两个链表合并class Solution {public: void reorderList(ListNode* head) { ListNode*fast = head; Li...
分类:
其他好文 时间:
2015-05-24 14:07:34
阅读次数:
81
//---单链表的单链式存储结构----
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
//1.初始化
int Initlist(LinkList L)
{
L=NULL;
return OK;
}
//初始化(带头结点)
int Initlist(LinkList L)
{
L...
分类:
其他好文 时间:
2015-01-29 12:43:17
阅读次数:
257
void mergelist(list La,list Lb,list &Lc)
{
//已知线性表LA和LB中的数据元素按值非递减排列
//归并LA和LB得到新的线性表LC,LC中的元素也按值非递减
Initlist(Lc);//初始化一个新的链表LC
i=j=1;k=0;
La_len=ListLength(La);//分别求出La和Lb的长度
Lb_len=ListLength...
分类:
其他好文 时间:
2015-01-27 16:22:18
阅读次数:
221
题目:已知有两个有序的单链表,其头指针分别为head1和head2,实现将这两个链表合并的函数:
Node* ListMerge(Node *head1,Node *head2)
这个算法很像我们排序算法中的归并排序,只能说“很像”,因为思想是一样的,但是这个与归并排序还是有区别的,区别如下:
1.归并排序是针对有序数组,而这里是有序链表;
2.归并排序排序的时间复杂度为o(nlogn),而这里的时间复杂度最坏情况下为O(m+n),最好的情况下为...
分类:
其他好文 时间:
2014-08-04 17:43:47
阅读次数:
296