云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > (数据结构C语言版)顺序表和单链表的逆置

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

  • 62 次阅读
  • 3 次下载
  • 2025/5/24 3:36:21

实验1-1 顺序表的逆置操作

程序原码

#include // 创建顺序表,确定元素个数,插入各个元素,逆置列表。 #include #include

#define max_list_size 100 //定义给顺序表分配空间大小 typedef struct{ int *elem; int length;

}list_node; //指向顺序表首地址的结构体单元

list_node L; //这里使用了全局变量,在所有的函数里可以随意修改其值

int list[max_list_size];

void init(); // 初始化操作 void inversion(); // 倒置部分 void creat(); // 建表部分 void display(); // 显示部分

//*************主函数****************** int main() {

init(); creat(); printf(\您输入的顺序表的结点数: \\n\ display(); inversion(); printf(\倒置顺序表的结点数: \\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, i;

printf(\请输入顺序表的结点数: \

scanf(\

if(a<=0){ printf(\顺序表个数要为正整数!请重新输入: \ scanf(\ }

if( a > max_list_size - 1 || a < 0 ) {

printf(\分配失败,退出程序! \\n\ exit(1); }

for( i = 0; i != a; ++i) {

printf(\请输入第%d结点的值: \ scanf(\ L.elem[i] = b; ++L.length; } }

//****************以下为倒置部分********************** void inversion(){ int a, b, i; a = L.length;

for( i = 1; i <= a/2; i++) { b = L.elem[i-1]; L.elem[i-1] = L.elem[a-i]; L.elem[a-i] = b; } }

//****************以下为显示部分********************** void display(){ int i;

for( i = 1; i <= L.length; ++i) printf(\ printf(\}

1

实验1-1 测试结果 输入一个正数、

输入一个负数、

实验1-2 单链表的逆置操作

程序原码

//创建一个单链表,确定元素个数,插入各个元素,进行逆置操作,并输出。 #include #include #include

// 单链表的链式存储结构 typedef struct Node { int date; struct Node *next;

2

}LNode,*PLNode;

PLNode 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,t,y; PLNode Head=(PLNode )malloc(sizeof(LNode)); PLNode tail; PLNode New; if(!Head){ exit(-1); } tail=Head; Head->next=NULL; printf(\请输入链表的个数: \ scanf(\

if(t<=0){ printf(\链表个数要为正整数!请重新输入: \ scanf(\ } for(i=0;i

3

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

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

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com