實驗名稱: 線性表的有關操作
實驗室名稱:
實驗台號:
學生姓名:
專業班級:
指導教師:
實驗日期:2017-6-8
一、實驗目的1、
掌握單向鍊錶的儲存特點及其實現。
2、理解和掌握單鏈表的型別定義方法和結點生成方法。 3、
掌握單向鍊錶的插入、刪除演算法及其應用演算法的程式實現。
二、實驗儀器及環境:
pc計算機;windows xp作業系統、visual c++6.0、codeblocks 1、
#include
#include
#include
#include
using namespace std;
typedef struct nodelnode,*linklist;
linklist createfromhead()
return head;
linklist sort(linklist head)
linklist temp1,temp2,q,p;
for(q=head;q->next!=null;q=q->next)
for(p=q->next;p->next!=null;p=p->next)
if(p->next->datanext->data)
if(q->next==p)
temp1=p->next;
p->next=p->next->next;
temp1->next=q->next;
q->next=temp1;
p=temp1;
else
temp1=p->next;
temp2=q->next;
p->next=p->next->next;
q->next=q->next->next;
temp1->next=q->next;
q->next=temp1;
temp2->next=p->next;
p->next=temp2;
return head;
linklist hecheng(linklist head1,linklist head2){
linklist p;
p=head2;
while(p->next!=null)
p=p->next;
charu(head1,p->data);
return head1;
linklist sort_(linklist head)
linklist temp1,temp2,q,p;
for(q=head;q->next!=null;q=q->next)
for(p=q->next;p->next!=null;p=p->next)
if(p->next->data>q->next->data)
if(q->next==p)
temp1=p->next;
p->next=p->next->next;
temp1->next=q->next;
q->next=temp1;
p=temp1;
else
temp1=p->next;
temp2=q->next;
p->next=p->next->next;
q->next=q->next->next;
temp1->next=q->next;
q->next=temp1;
temp2->next=p->next;
p->next=temp2;
return head;
int main()
linklist head=null,p=null,head1=null,head2=null;
int x;
head=createfromhead();
cout<<"隨機產生的鍊錶資料如下:"show(p);
cout<<"*********逆置後鍊錶*********"p=daozhi(p);
show(p);
cout<<"*****刪除偶數元素後鍊錶*****"p=shanchu(p);
show(p);
cout<<"*******非遞減有序鍊錶*******"sort(p);
show(p);
cout<<"請輸入要插入的鍊錶元素:";
cin>>x;
cout<<"******插入新元素後鍊錶******"charu(p,x);
show(p);
cout<<"請鍵入兩個非遞減有序單向鍊錶"p=head1;
sort(p);
head2=createfromhead_();
p=head2;
sort(p);
cout<<"*****合併後的非遞減序列*****"show(p);
cout<<"*****合併後的非遞增序列*****"show(p);
return 0;
1、2、
3、4、
5、6、
7、8、
建立鍊錶時有頭,尾兩種建立方法,兩種方法遍歷資料元素時和建立的次序有所不同。
簽名: 年月日
線性表的有關操作
目的要求 掌握單向鍊錶的儲存特點及其實現。掌握單向鍊錶的插入 刪除演算法及其應用演算法的程式實現。實驗內容 隨機產生或鍵盤輸入一組元素,建立乙個帶頭結點的單向鍊錶 無序 遍歷單向鍊錶。把單向鍊錶中元素逆置 不允許申請新的結點空間 在單向鍊錶中刪除所有的偶數元素結點。編寫在非遞減有序鍊錶中插入乙個元素...
線性表操作
include stdio.h define maxsize 20 define overflow 1 define ok 1 define error 1 void init seqlist int length pointer 構造乙個空的線性表 int insert last int elem...
線性表操作
大概實現的功能 1 建立線性表類。線性表的儲存結構使用鍊錶。2 提供操作 自表首插入元素 刪除指定元素 搜尋表中是否有指定元素 輸出鍊錶。3 接收鍵盤錄入的一系列整數 例10,25,8,33,60 作為節點的元素值,建立鍊錶。輸出鍊錶內容。4 輸入乙個整數 例33 在鍊錶中進行搜尋,輸出其在鍊錶中的...