单链表逆置

更新时间:2023-03-01 21:41:06 阅读: 评论:0

棋类游戏-萝卜丝饼怎么做

单链表逆置
2023年3月1日发(作者:水囊是什么样子图片)#include

#include

#include



#define OK 1

#define ERROR 0

#define OVERFLOW -2

#define LIST_INIT_SIZE 10 //表存储空间的初始分配量

#define LISTINCREMENT 3 // 线性表存储空间的分配增量



typedef int Status;

typedef int ElemType;

typedef struct

{

ElemType *elem; // 存储空间基址

int length; // 当前长度

int listsize; // 当前分配的存储容量(以sizeof(ElemType)为单位)

} SqList;





int menu_lect();

Status InitList_Sq(SqList &L);

Status CreatList_Sq(SqList &L,int n);

Status ListInrt_Sq(SqList &L,int i,ElemType e);

void ListDelete_Sq(SqList &L,int i);

void PrintList_Sq(SqList L);



void main()

{

SqList L;t

Status s;

int n;

for(;;)

{

switch(menu_lect())

{

ca 1:

printf("调用初始化函数
");

s=InitList_Sq(L);

if(s)

printf("初始化成功
");

el

printf("初始化失败
");

break;

ca 2:

printf("调用创建函数
");

printf("输入线性表的长度:");

scanf("%d",&n);

s=CreatList_Sq(L,n);

if(s)

printf("创建成功
");

el

printf("创建失败
");

break;

ca 3:

PrintList_Sq(L);

break;

ca 4:

printf("调用插入函数
");

int i,e;

printf("请输入插入位置和插入的数据
");

scanf("%d%d",&i,&e);

ListInrt_Sq(L,i,e);

break;

ca 5:

printf("调用删除函数
");

printf("请输入要删除数据的位置
");

scanf("%d",&i);

ListDelete_Sq(L,i);

break;

ca 6:printf("调用查找函数
");

break;ttt

ca 0:

printf("程序结束,谢谢使用!

");

exit(0);

}

}

}



int menu_lect()

{

int sn;

printf("
显示菜单
");

printf("1.初始化
");

printf("2.创建
");

printf("3.显示
");

printf("4.插入
");

printf("5.删除
");

printf("6.查找
");

printf("0.退出
");

printf("输入 0-6:");

for(;;)

{

scanf("%d",&sn);

if(sn<0||sn>6)

printf("
输入错误,重选0-6:");

el

break;

}

return sn;

}



Status InitList_Sq(SqList &L)

{

=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));

if(!) return(OVERFLOW);

=0;

ze=LIST_INIT_SIZE;

return OK;

}



Status CreatList_Sq(SqList &L,int n)

{

int i;

if(n>ze)

return(ERROR);

printf("输入%d个整形数:",n);

for(i=1;i<=n;i++)

{

scanf("%d",&[i-1]);

}

=n;

return OK;

}

Status ListInrt_Sq(SqList &L,int i,ElemType e)

{

ElemType *newba,*p,*q;

if(i<1||i>+1)

return ERROR;

if(>=ze)

{

newba=(ElemType*)realloc(,(ze+LISTINCREMENT)*sizeof(ElemType));

if(!newba)

exit(OVERFLOW);

=newba;

ze+=LISTINCREMENT;

}

q=&([i-1]);

for(p=[-1];p>=q;--p)

*(p+1)=*p;

*q=e;

++;

return OK;

}

void ListDelete_Sq(SqList &L,int i)

{

ElemType *p,*q;

i

f(i<1||i>)

return ERROR;

}

void PrintList_Sq(SqList L)

{

int i;

for(i=1;i<=;i++)

{

printf("%dt",[i-1]);

}

}



本文发布于:2023-03-01 21:41:05,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/167767806687391.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:单链表逆置.doc

本文 PDF 下载地址:单链表逆置.pdf

上一篇:律师日记
下一篇:返回列表
标签:单链表逆置
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|