写正确函数需要注意的地方:两个非降序链表的并集,1>2>3和2>3>5合并为1>2>3>5。
2012-09-10 13:59
363 查看
int OutCombine(Node* p1, Node* p2) { while(p1!=NULL && p2!=NULL) { if(p1->value>p2->value) { cout<<p2->value<<" "; p2=p2->pNext; } else if(p1->value<p2->value) { cout<<p1->value<<" "; p1=p1->pNext; } else { cout<<p1->value<<" "; p1=p1->pNext; p2=p2->pNext; } } if(p1!=NULL)//剩余的部分直接添加到末尾。 { while(p1!=NULL) { cout<<p1->value<<" "; p1=p1->pNext; } cout<<endl; } else if(p2!=NULL) { while(p2!=NULL) { cout<<p2->value<<" "; p2=p2->pNext; } cout<<endl; } return 0; } int _tmain(int argc, _TCHAR* argv[]) { srand(time(0)); int plength1=rand()%10; int plength2=rand()%10; Node* p1=NULL; Node* p2=NULL; int startvaluep1=0; int startvaluep2=0; for(int i=0;i<plength1;++i) addEnd(startvaluep1=rand()%3+startvaluep1,p1); for(int i=0;i<plength2;++i) addEnd(startvaluep2=rand()%3+startvaluep2,p2); print(p1); print(p2); OutCombine(p1,p2); getchar(); return 0; }
相关文章推荐
- 写正确函数需要注意的地方:两个有序链表的合并
- 写正确函数需要注意的地方:链表的合并排序
- 写正确函数需要注意的地方:两个序列a,b,大小都为n,序列元素的值为任意整数,无序;要求通过交换a,b中的元素,使序列a元素的和与序列b元素的和之间的差最小
- 写正确函数需要注意的地方:链表的及时终止冒泡排序
- 写正确函数需要注意的地方:链表的逆转,递归与非递归
- 写正确函数需要注意的地方:输入两个整数n和m,从数列1,2,3,...n中随意取几个数,使其和为m,列出所有可能组合
- 请修改append 函数,利用这个函数实现:两个非降序链表的并集,1->2->3 和2->3->5 并为1->2->3->5 另外只能输出结果,不能修改两个链表的数据。
- 写正确函数需要注意的地方:最大堆的创建与堆排序
- 写正确函数需要注意的地方:strstr
- 写正确函数需要注意的地方:给定一个十进制整数N,计算从1开始到N的所有整数出现的“1”的个数
- 写正确函数需要注意的地方:快速返回斐波那契数的第n项
- 写正确函数需要注意的地方:int转char*, char* 转int。
- 写正确函数需要注意的地方:快速排序
- 写正确函数需要注意的地方:奇偶数分开,左边偶数,右边奇数。
- Socket:java与C之间的文件传送<3>(JAVA与C通信需要注意的地方)
- 写正确函数需要注意的地方:在字符串中找出连续最长的数字串,并把这个串的长度返回
- 写正确函数需要注意的地方:二分查找
- 写正确函数需要注意的地方:输入一个字符串,打印出该字符串中字符的所有排列
- 写正确函数需要注意的地方:子数组的最大和
- Socket:java与C之间的文件传送<3>(JAVA与C通信需要注意的地方)