




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言程序設計試驗匯報
試驗一:鏈表的基本操作
一?試驗目的
1.掌握鏈表的建立措施
2.掌握鏈表中節點的查找與刪除
3.掌握輸出鏈表節點的措施
4.掌樨鏈表節點排序的一種措施
5.掌握C語言創立菜單的措施
6.掌握構造化程序設計的措施
二?試驗環境
1.硬件環境:目前所有電腦硬件環境均支持
2,軟件環境:VisualC++6.0
三.函數功能
1.CreateList//申明創立鏈表函數
2.TraverseList//申明遍歷鏈表函數
3.InsertList//申明鏈表插入函數
4.DeleteTheList//申明刪除整個鏈表函數
5.FindList//中明鏈表查詢函數
四.程序流程圖
v
V
定義刪除鏈表元索函數刑
除鞋表中的第pos節點刪除節點
Deletel.ist(PNodeList,int
pos)
五.程序代碼
#include<stdio.h>
#include<stdlib.h>
typedefintElemtype:
typedefintStatus;
typedefstructnode//定義存儲節點
(
intdata;〃數據域
structnode*next;〃構造體指針
}*linklist,nodc;〃構造體變量,構造體名稱
linklistcreat(intn)〃創立單鏈表
(
linklisthead,r,p;〃定義頭指針r,p,指針
intx,i;
hcad=(node*)nialk)c(3izeuK【Kxle));〃生成頭結點
r=head;//r指向頭結點
printff輸入數字八n");
for(i=n;i>0;i-)//for循環用于生成第一種節點并讀入數據
scanf("%d,r,&x);
p=(node*)malloc(sizeof(node));
p->data=x;〃讀入南一種節點的數據
r->next=p;〃把第一種節點連在頭結點的背面
r=p;〃循環以便于生成第二個節點
1
r->nexi=0;〃生成鏈表后的斷開符
returnhead;//返回頭指針
}
voidoutput(linklisthead)//輸出鏈表
(
linklistp;
p=head->next;
do
|
printf("%3d",p->data);
p=p->next;
}
while(p);
printf("\n")
)
Statusinsert(linklist&l,inti,Elenitypee)〃插入操作
(
intj=O;
linklistp=l,s;
while(j<i-l&&p)
|
p=p->next;
++j;
I
if(!pllj>i-D
return-i;
else
{
s=(node*)malloc(sizeof(node));
s->data=e;
s->next=p->next;
p->next=s;
return1;
1
)
Statusdelect(linklist&l,inti.Elemtype&e)〃刪除操作
(
intj=0;
linklistp=l,q;
while(j<i-l&&p->next)
(
p=p->next;
++j;
)
if(!p->next||j>i-l)
return-1;
else
q=p->next;
p->next=q->next;
e=q->data;
free(q);
return1;
void8mbine(linklistla,linklistlb)〃合并單鏈表
(
node*pa,*pb,*pc;
linklist1c;
pa=la->next;
pb=lb->next;
lc=pc=la;
while(pa&&pb){
if(pa->dala<=pb->dala){
pc->ncxt=pa;
pc=pa;
pa=pa->next;
)
clsc{pc->ncxt=pb;pc=pb;pb=pb->ncxt;}
)
pc->next=pa?pa:pb;
free(lb);
}
StatusGetElem(linklisti,Elemtype&e)〃查找操作
{
linklistp;
intj;
p=l->next;
j=>;
while(p&&j<i)
(
p=p->next;
++j;
I
if(!pllj>i)
return-2;
e=p->data;
returne;
I
voidmain()
(
linklistla,lb;
intn;
inii,j;
Elcmtypcc;
printf("請輸入第一種鞋表:\n");
prindT輸入鏈表元素的個數
scanf("%d",&n);
la=creat(n);
printf("輸出鏈表An");
outpiit(la);
printff請輸入要查找元素的位置An");
scanf(H%d",&i);
j=GetElem(la,i,e);
printf("所要杳找的元素是%(1\11”3);
printf("請輸入插入位置和元素:\n");
scanf("%d%d",&i.&e);
insert(la,i,e);
printf("插入后的鏈表:\n");
output(la);
printf("請輸入要刪除的位置:\n”);
scanf("%d",&i);
delect(la,i,e);
primf("刪除的那個元素是:%d\n”,e);
prinlfC輸出刪除后的次序表:\n");
output(la);
prinlf("請輸入第一種非遞減鏈表:\n");
printf("輸入鏈表元素的個數:\n");
scanf("%d'\&n);
la=creat(n);
printf(,嗑出鏈表八n");
output(la);
printf("請輸入第二個非遞減鏈表:\n");
primf("輸入鏈表元素的個數:\n");
scanf("%d",&n);
lb=creat(n);
priiHf("峪出鏈表:\n");
output(lb);
combine(la,lb);
prinlfC輸出合并后的鏈表:\n”);
ouiput(la);
六.運行成果
主
D
E
.
"刖
1
3
5
7
5
13
置;
的位
元素
查找
入要
青輸
2
2
5
置:
的位
刪除
入要
青輸
2
的元i日
刪的稼:5表
3
7
g
T
人嚏一遞i鏈表
T
p
鎮系r二個
三f
兀勺;
n
y
3
1
2
表:
俞出鏈
4
12
3
2
3
3
45
3
2
12
nue
nti
co
yto
ke
any
ess
會
得體
七.心
掌握
基本上
查找等
歷、
、遍
操作
插刪
表的
對鏈
解,
的理
更深
有了
鏈表
我對
試驗
本次
通過
了。
點。
的知識
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公務往返簽證管理辦法
- 北京收容管理辦法修訂
- 創新重點稅源管理辦法
- 公益訴訟損害管理辦法
- 回收芯片高頻管理辦法
- 團隊目標考核管理辦法
- 醫療廢物出境管理辦法
- 作業工具管理辦法臺賬
- 林業園林建設管理辦法
- 接收機系統設計與仿真
- 下肢靜脈曲張
- 2024年露營帳篷項目可行性研究報告
- 《公務員錄用體檢操作手冊(試行)》
- 2024粵東西粵北地區教師全員輪訓培訓心得總結
- 2024-2025學年華東師大版數學七年級上冊計算題專項訓練
- 福建省機關工作人員年度考核登記表
- JBT 7808-2010 無損檢測儀器 工業X射線探傷機主參數系列
- DB44-T 2474-2024 自然教育標識設置指引
- 研學基地合作協議
- 駕駛員行為規范管理制度
- 《鍋爐水介質檢驗導則標準-征求意見稿》
評論
0/150
提交評論