关于c语言课程设计链表的两个问题。。(高分求助) 非常急。。。。!!。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于c语言课程设计链表的两个问题。。(高分求助) 非常急。。。。!!。相关的知识,希望对你有一定的参考价值。

(问题原题如下,知道任何一题都可回答)(回答的好一题加100分)谢谢。。。。。 链表(每一功能用一函数实现): 1.先建立两个有序的单链表,再将其合并成一个有序的单链表。。 2.先建立一若干个结点构成的单链表,统计其中数据域值为x的结点的个数,再对该单链表进行复制。。。。。

参考技术A #include
<iostream>
using
namespace
std;
struct
NODE

int
data;
NODE
*next;
;
void
dataAdd(NODE
*(&list),int
data)
//在链表尾增加一个新的节点

NODE
*newNode,*p;
newNode=new
NODE;
newNode->data=data;
p=list;
if(!p)
//如果list为空,头结点赋值为当前值

list=newNode;
list->next=NULL;
return
;

while(p->next)

p=p->next;

p->next=newNode;
newNode->next=NULL;

void
inputData(NODE
*(&list))

int
data;
cin>>data;
while(!cin.fail())

dataAdd(list,data);
cin>>data;

cin.clear();
cin.sync();

int
lastData(NODE
*list)

NODE
*p=list;
if(!p)

return
-1;

while(p->next)

p=p->next;

return
p->data;

void
sortList(NODE
*(&list))

NODE
*p,*q;
p=list;
int
temp;
while(p->next)

q=p->next;
while(q)

if(p->data>q->data)

temp=p->data;
p->data=q->data;
q->data=temp;

q=q->next;

p=p->next;


void
combination(NODE
*list1,NODE
*list2,NODE
*(&list3))

NODE
*p=list1;
NODE
*q=list2;
while(p
&&
q)

if(p->data
<
q->data
)

if(lastData(list3)!=p->data)
dataAdd(list3,p->data);
p=p->next;

else
if(p->data
>
q->data)

if(lastData(list3)!=q->data)
dataAdd(list3,q->data);
q=q->next;

else
if(p->data
==
q->data)

if(lastData(list3)!=p->data)
dataAdd(list3,p->data);
p=p->next;
q=q->next;


while(p)

if(lastData(list3)!=p->data)
dataAdd(list3,p->data);
p=p->next;

while(q)

if(lastData(list3)!=q->data)
dataAdd(list3,q->data);
q=q->next;


void
showList(NODE
*list)
//显示链表中的数据

NODE
*p;
p=list;
while(p)

cout<<p->data<<'
';
p=p->next;

cout<<endl;

int
main()

NODE
*list1=NULL,*list2=NULL;
cout<<"请输入链表1的数据,非数字字符为结束符!"<<endl;
inputData(list1);
sortList(list1);
//list1排序
//showList(list1);
cout<<endl;
cout<<"请输入链表2的数据,非数字字符为结束符!"<<endl;
inputData(list2);
sortList(list2);
//list2排序
NODE
*list3=NULL;
cout<<"list1和list2的并集为:"<<endl;
combination(list1,list2,list3);
showList(list3);
cout<<endl;
return
0;

以上是关于关于c语言课程设计链表的两个问题。。(高分求助) 非常急。。。。!!。的主要内容,如果未能解决你的问题,请参考以下文章

课程设计|C++实现两个链表的合并

C语言链表问题,作业编程。编好出现问题。高手看下。

C语言链表问题

高分求助一道C语言设计题 不难!!

c语言关于链表的一道题

C语言问题,求解释(关于动态链表和文件写入):