数据结构C语言版顺序表和单链表的逆置

上传人:壹****1 文档编号:508351534 上传时间:2022-08-19 格式:DOC 页数:8 大小:89KB
返回 下载 相关 举报
数据结构C语言版顺序表和单链表的逆置_第1页
第1页 / 共8页
数据结构C语言版顺序表和单链表的逆置_第2页
第2页 / 共8页
数据结构C语言版顺序表和单链表的逆置_第3页
第3页 / 共8页
数据结构C语言版顺序表和单链表的逆置_第4页
第4页 / 共8页
数据结构C语言版顺序表和单链表的逆置_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《数据结构C语言版顺序表和单链表的逆置》由会员分享,可在线阅读,更多相关《数据结构C语言版顺序表和单链表的逆置(8页珍藏版)》请在金锄头文库上搜索。

1、实验 1-1顺序表的逆置操作程序原码#include / 创建顺序表,确定元素个数,插入各个元素,逆置列表。 #include#include#define max_list_size 100 /定义给顺序表分配空间大小typedef structint *elem;int length; list_node; / list_node L; /指向顺序表首地址的结构体单元这里使用了全局变量,在所有的函数里可以随意修改其值int listmax_list_size;void init();void inversion();void creat();void display();/初始化操作/倒置

2、部分/建表部分/显示部分/*主函数 *int main() init();creat();printf(n display();inversion(); printf(n display();您输入的顺序表的结点数 : n);倒置顺序表的结点数 : n);/*初始化操作分配空间 *void init()L.elem = (int *) malloc (max_list_size * sizeof(int) );if (! L.elem) printf( exit(-1);顺序表已满 );L.length/*void creat()以下为建表部分*int a, b, i;printf( 请输入顺

3、序表的结点数 : ); scanf(%d, &a);if(a max_list_size - 1 | a 0 )printf( 分配失败 , 退出程序 ! n); exit(1);for( i = 0; i != a; +i)printf(”请输入第比吉点的值:,i+1);scanf(%d, &b);L.elemi = b;+L.length;/*以下为倒置部分*void inversion() int a, b, i;a = L.length;for( i = 1; i = a/2; i+)b = L.elemi-1;L.elemi-1 = L.elema-i; L.elema-i = b;

4、/*以下为显示部分*void display() int i;for( i = 1; i = L.length; +i) printf(%dt, L.elemi-1);printf(n);实验1-1测试结果输入一个正数、7:0 12 3 4 5 6 ?2222222您输人的顺序表的结点数:2G212223242526倒萱顺序表的结点数,26252423222120Press an9 Itey to continue输入一个负数、冃巾士冃丄冃.主:T十冃 * -=. .rT THT F T567 8 孑野点点点点I呈口吉吉 序数述克誕呈 顺个WWW IA入入IA-5WI您输入的顺序表的结点数匕6

5、7剖置顺序表的结点数:765ress any key tn continue实验1-2 单链表的逆置操作程序原码/创建一个单链表,确定元素个数,插入各个元素,进行逆置操作,并输出。#in elude #in elude #in elude II单链表的链式存储结构typedef struct Nodeint date;struct Node *n ext;LNode,*PLNode;PLNode Creat_Link(); / 创建链表 void Treaver_Link(PLNode Head); /输出链表void Reaverse_Link(PLNode Head); /逆置链表void

6、 main()PLNode Head;Head=Creat_Link(); / printf( 您输入的单链表为 : n);Treaver_Link(Head);Reaverse_Link(Head);printf( 逆置后的的单链表为 : n);创建链表/ 输出链表/ 逆置链表/ 输出链表Treaver_Link(Head);/*以下为单链表的创建部分 *PLNode Creat_Link()int i,t,y;PLNode Head=(PLNode )malloc(sizeof(LNode);PLNode tail;PLNode New;if(!Head)exit(-1);tail=Hea

7、d; Head-next=NULL;printf( 请输入链表的个数 : ); scanf(%d,&t);if(t=0)printf( 链表个数要为正整数 !请重新输入 : ); scanf(%d,&t);for(i=0;idate=y; New-next=tail-next; tail-next=New; tail=New;return Head;/* 以下为单链表的逆置部分 void Reaverse_Link(PLNode Head) PLNode p,q;p=Head-next;Head-next=NULL;while(p)q=p-next; p-next=Head-next; Hea

8、d-next=p; p=q;return;/* 以下为单链表的显示部分void Treaver_Link(PLNode Head)PLNode p;if(!Head-next)printf( 链表为空退出程序 !); exit(-1);p=Head-next;*while(p)printf(%dt,p-date); p=p-next;printf(n);return;实验1-2测试结果输入一个正数、星垦冃青青青青青主L0A =数数数数数12歎15 r占警冒警貨点点昜蘇 士口吐口44辛呈口士口士口士 点 lrrrrrpKlfc 12 3 4 5678&1&1 gFgr&P 占gr-l_TI 二 nun 八久段iAtAlAlAlAlA后 输 sssss 置8居居居居居居居居:J : : J : I : - : J ; J :,121314151617131414131710ress any keu to continue输入一个负数、尹 kj-TkSr m y i 4八t个数要为正整数T请重新输入= Ii入裁个结点数狞i入第2个结点数莖,i入裁个结点数唇i入盖个结点数寄i入義个结点数雷i入笫卜结点数握i入馬单链表为: 逆置后的的单链表为:75G45r&ss any key to continue12233445 S6756236712Welcome !欢迎您的下载, 资料仅供参考!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号