数据结构小实验程序.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构小实验程序

顺序表的操作(1)插入元素操作:将新元素x插入到顺序表a中第i个位置。(2)删除元素操作:删除顺序表a中第i个元素。实验程序:#include stdio.h#define Max 100#define length 10void main(){int a[Max];int l;int i;int x;printf(请输入要创建顺序表的10个元素:);for(i=1;i=10;i++){ scanf(%d,a[i]);} printf(\n); printf(请输入要插入元素x:); scanf(%d,x); printf(\n); printf(请输入要插入位置i:); scanf(%d,i); printf(\n); if(i1||i11) printf(要插入位置错误!\n); else{ { for(l=11;l=i;l--) a[l]=a[l-1]; a[i]=x; }printf(插入后顺序表为:);for(i=1;i=11;i++) printf(%d ,a[i]);printf(\n);printf(\n); }printf(\n);printf(请输入要删除位置i:); scanf(%d,i); printf(\n); if(i1||i10) printf(要删除位置错误!\n); else { { for(l=i+1;l=11;l++) a[l-1]=a[l]; }printf(删除后顺序表为:);for(i=1;i=10;i++) printf(%d ,a[i]);printf(\n);printf(\n); }}运行结果:二、单链表的操作(1)创建一个带头结点的单链表;(2)插入元素操作:将新元素x插入到单链表中第i个元素之后;(3)删除元素操作:删除单链表中值为x的元素;试验程序:#include stdio.h#includestdlib.h#define MAX 100typedef struct LNode{int data;struct LNode *next;}LNode;void crealist(LNode *L,int len) { int i; LNode * p,* r; L=(LNode *)malloc(sizeof(LNode)); L-next=NULL; r=L; printf(请输入要创建链表的各个元素:);for(i=1;i=len;i++){p=(LNode *)malloc(sizeof(LNode));scanf(%d,p-data); r-next=p;r=r-next;}r-next=NULL; }void insert(LNode *L ,int i,int x) { int j=0; LNode *p,*q;p=L; while(p-next!=NULL) { j++; if(j==i) { q=(LNode *)malloc(sizeof(LNode));q-data=x; q-next=p-next; p-next=q; break; } p=p-next; } if(p-next==NULL) { q=(LNode *)malloc(sizeof(LNode)); q-data=x; q-next=p-next; p-next=q; } }void deleted(LNode *L ,int x) { LNode *p,*q; p=L; while(p-next!=NULL) {if(p-next-data==x) { q=p-next;p-next=p-next-next; free(q); } p=p-next; } }void print(LNode *L){LNode *p; p=L-next; while(p!=NULL) { printf(%d ,p-data); p=p-next; } printf(\n);}void main(){LNode *L,*p;int i,x1,x2,len;printf(请输入表长len:); scanf(%d,len);printf(\n);crealist(L,len); printf(\n);printf(构造的链表为:);print(L);printf(\n); printf(请输入要插入位置i:);scanf(%d,i); printf(\n);printf(请输入要插入元素x1:);scanf(%d,x1);insert(L,i,x1); printf(\n);printf(插入元素后链表为:);print(L);pri

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档