當前位置:首頁 » 課程大全 » c語言課程設計非鏈表

c語言課程設計非鏈表

發布時間: 2021-02-01 07:08:39

1. 關於c語言課程設計鏈表的兩個問題。。(高分求助) 非常急。。。。!!。

#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;
}

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919