- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验源代码
线 性 表
顺序表的插入删除(交互式)
#includestdio.h
#includeconio.h
#define ListSize 100
typedef int datatype;
typedef struct
{
datatype a[ListSize];
int length;
}sequence_list;
sequence_list mylist;
datatype x;int position,y;
void init (sequence_list*L)
{
L-length=0;
}
//==================顺序表的插入====================
void insert(sequence_list *L,datatype x,int position)
{
int i;
if(L-length==ListSize)
{printf(\n 顺序表是满的,无法插入);}
if(position0||positionL-length)
{printf(\n指定的插入位置不存在);}
for(i=L-length;iposition;i--)
L-a[i]=L-a[i-1];
L-a[position]=x;
L-length++;
}
void display(sequence_list L)
{
int i;
if(L.length==0)
printf(\n 顺表表是空的);
else
for(i=0;iL.length;i++)
printf(%5d,L.a[i]);
}
void append(sequence_list *L,datatype x)
{
if(L-length==ListSize)
{printf( 顺序表是满的\n);}
L-a[L-length]=x;
L-length=L-length+1;
}
//==================顺序表的删除====================
void dele(sequence_list *L,int y )
{
int i;
if(L-length==0)
{printf(\n顺序表是空的);}
for(i=0;iL-length;i++)
{
if(L-a[i]==y)
{for(;iL-length-1;i++)
L-a[i]=L-a[i+1];
}
}
L-length--;
}
void main()
{
int number,j;
init(mylist);
display(mylist);
printf(,你要插入几个数\n);
scanf(%d,j);
for(int i=0;ij;i++)
{
printf(input your numbers\n);
scanf(%d,number);
append(mylist,number);
}
display(mylist);
printf(\n);
printf(请输入你要插入的数x和它的位置positio\n);
scanf(%d%d,x,position);
insert(mylist, x, position);
display(mylist);
printf(\n插入成功\n);
printf(请输入你要删除的数y\n);
scanf(%d,y);
dele(mylist,y);
display(mylist);
printf(\n删除成功\n);
}
2.单链表
带头结点的单链表的创建、求表长、输出、插入、删除、查找、逆置
#includestdio.h
#includestdlib.h
#define DataType int
#define FLAG -1
typedef struct Node
{
DataType data;
struct Node *next;
}Lnode,*LinkList;
LinkList Creat_LinkList()
{
LinkList L;
Lnode *s,*r;
int x;
printf(建立有表头结点的单链表,以%d作为创建链表完成的标志\n,FLAG);
L=r=s=NULL;
L=(Lnode *)malloc(sizeof(Lnode));
if(!L)
{
printf(表头结点开辟失败\n);
exit(-1);
}
L-next=NULL;
scanf
您可能关注的文档
最近下载
- 工程造价咨询服务方案及服务承诺.docx
- 2025年中考一轮道德与法治复习+崇尚法治精神.pptx VIP
- 2024-2025学年山东省青岛市统编版五年级上册期中考试语文试卷(含答案).pdf VIP
- 2024高考物理(四川卷).doc
- 粤教版高中物理选择性必修第二册教材习题解答.pdf
- 专题14 世界区域地理-备战2023年中考地理二轮复习优质课件.pptx VIP
- 电路分析基础 教学课件 作者 史健芳 陈惠英 李凤莲 等 ch9电路的频率响应.ppt
- 从优秀走向卓越——高中阶段的优生培养策略课件高中尖子生培养主题班会.pptx VIP
- 北京市清华大学中学2025届高三第六次模拟考试物理试卷含解析.doc
- 电路分析基础 教学课件 作者 史健芳 陈惠英 李凤莲 等 ch8三相电路.ppt
文档评论(0)