静态链表实现数据添加删除_第1页
静态链表实现数据添加删除_第2页
静态链表实现数据添加删除_第3页
静态链表实现数据添加删除_第4页
静态链表实现数据添加删除_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、福州大学至诚学院ACM队静态链表实现初始化,创建链表,头添加,头删除,尾添加,尾删除,以及输出功能。#include "stdio.h"#include "stdlib.h"#define max 10typedef struct tchar data;int cursor;temp;void ouput(temp Temp)int i=0;while(Tempi.cursor)i=Tempi.cursor;printf("%d ",Tempi.data);printf("n");void initial(temp

2、 Temp,int *first)int i;Temp0.cursor=0;for (i=1;i<max-1;i+)Tempi.cursor=i+1;Tempmax-1.cursor=0;*first=1;int getnode(temp Temp,int *first)int i;i=*first;*first=Tempi.cursor;return i;void addfirst(temp Temp,int *k)int i,n;system("cls");printf("请输入即将添加的元素个数:n");scanf("%d"

3、;,&n);*k+=n;printf("请输入要添加的元素:n");for (i=*k+1;i<=*k+n;i+)scanf("%d",&Tempi.data);Tempi.cursor=Temp0.cursor;Temp0.cursor=i;system("cls");printf("恭喜您添加元素成功!n您当前的元素为:n");ouput(Temp);void addlast(temp Temp,int *k)int i,n,curnode=0;system("cls"

4、);printf("请输入即将添加的元素个数:n");scanf("%d",&n);*k+=n;printf("请输入要添加的元素:n");while(Tempcurnode.cursor!=0)curnode=Tempcurnode.cursor;for (i=*k+1;i<=*k+n;i+)scanf("%d",&Tempi.data);Tempi.cursor=0;Tempcurnode.cursor=i;curnode=i;system("cls");printf(

5、"恭喜您添加元素成功!n您当前的元素为:n");ouput(Temp);void delfirst(temp Temp)system("cls");int i;if(Temp0.cursor=0)return;i=Temp0.cursor;i=Tempi.cursor;Temp0.cursor=i;printf("恭喜您删除元素成功!n您当前的元素为:n");ouput(Temp);void dellast(temp Temp)system("cls");int curnode=0,t;if(Temp0.curso

6、r=0)return;while(Tempcurnode.cursor!=0)t=curnode;curnode=Tempcurnode.cursor;Tempcurnode.cursor=-1;Tempt.cursor=0;printf("恭喜您删除元素成功!n您当前的元素为:n");ouput(Temp);int main()int i,n=0,first,flag=0,m,k,j;temp Tempmax;system("color e");while(1)printf("请输入您需要的操作序号:n");printf("

7、;1.初始化并建立新链表。n2.头添加n3.尾添加n4.头删除n5.尾删除n6.退出程序n");scanf("%d",&m);if(m=1)system("cls");initial(Temp,&first);printf("请输入即将添加的元素个数:n");scanf("%d",&n); / if (n>=max-1)/ /printf("您输入的元素个数超过范围!最大可输入%d个元素!n",max-1);/continue;/ printf("

8、;请输入要添加的元素:n");Temp0.cursor=1;for (i=1;i<=n;i+)scanf("%d",&Tempi.data);Tempi.cursor=i<n?i+1:0;system("cls");printf("恭喜您建表成功!n您输入的元素为:n");ouput(Temp);flag=1;else if(m=2)if(flag)addfirst(Temp,&n);elsesystem("cls");initial(Temp,&first);prin

9、tf("请输入即将添加的元素个数:n");scanf("%d",&k);n+=k;if (n>=max-1)printf("您输入的元素个数超过范围!最大可输入%d个元素!n",max-1);continue;printf("请输入要添加的元素:n");for (i=1;i<=k;i+)int num;num=getnode(Temp,&first);scanf("%d",&Tempnum.data);Tempnum.cursor=Temp0.cursor;T

10、emp0.cursor=num;system("cls");printf("恭喜您添加元素成功!n您当前的元素为:n");ouput(Temp);flag=1;else if (m=3)if(flag)addlast(Temp,&n);elseint b=0,c;system("cls");initial(Temp,&first);printf("请输入即将添加的元素个数:n");scanf("%d",&j);n+=j;if (n>=max-1)printf(&qu

11、ot;您输入的元素个数超过范围!最大可输入%d个元素!n",max-1);continue;printf("请输入要添加的元素:n");Temp0.cursor=1;for (c=1;c<=j;c+)scanf("%d",&Tempc.data);Tempc.cursor=c<j?c+1:0;system("cls");printf("恭喜您添加元素成功!n您当前的元素为:n");ouput(Temp);flag=1;else if (m=4)if(flag)delfirst(Temp);elsesystem("cls");printf("sorry!您的操作有误!请重新输入。n");continue;else if (m=5)if(flag)dellas

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论