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

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

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

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

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

3、 i; printf(请输入顺序表的结点数: );scanf(%d, &a);if(a max_list_size - 1 | a 0 ) printf(分配失败,退出程序! n); exit(1); for( i = 0; i != a; +i) printf(请输入第%d结点的值: , 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.e

4、lema-i;L.elema-i = b; /*以下为显示部分* void display() int i; for( i = 1; i = L.length; +i) printf(%dt, L.elemi-1); printf(n);实验1-1 测试结果输入一个正数、输入一个负数、实验1-2 单链表的逆置操作程序原码/创建一个单链表,确定元素个数,插入各个元素,进行逆置操作,并输出。#include #include #include / 单链表的链式存储结构typedef struct Nodeint date;struct Node *next;LNode,*PLNode;PLNode

5、 Creat_Link(); /创建链表void Treaver_Link(PLNode Head); /输出链表void Reaverse_Link(PLNode Head); /逆置链表void main() PLNode Head; Head=Creat_Link(); /创建链表printf(您输入的单链表为: n); Treaver_Link(Head);/输出链表 Reaverse_Link(Head);/逆置链表printf(逆置后的的单链表为: n); Treaver_Link(Head);/输出链表/*以下为单链表的创建部分*PLNode Creat_Link()int i,

6、t,y;PLNode Head=(PLNode )malloc(sizeof(LNode);PLNode tail;PLNode New;if(!Head)exit(-1);tail=Head;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;Head-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 测试结果输入一个正数、输入一个负数、5

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

当前位置:首页 > 建筑/环境 > 设计及方案

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