数据结构程序填空复习题.docVIP

  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.设线性表为(6,10,16,4),以下程序用说明结构变量的方法建立单向链表,并输出链表中各结点中的数据。 #define NULL 0 void main( ) {NODE a,b,c,d,*head,*p; a.data=6; b.data=10; c.data=16; d.data=4; /*d是尾结点*/ head= (1) ; a.next=b; b.next=c; c.next=d; (2) ; /*以上结束建表过程*/ p=head; /*p为工作指针,准备输出链表*/ do {printf(“%d\n”, (3) ); (4) ; }while( (5) ); } 答案: (1)a (2)d?next=NULL (3)p-data (4)p=p-next (5)p!=NULL 2. 以下函数在head为头指针的具有头结点的单向链表中删除第i个结点, struct node { int data; struct node *next; }; typedef struct node NODE int delete(NODE *head,int i ) { NODE *p,*q; int j; q=head; j=0; while((q!=NULL)( ___(1)_____)) { ___(2)_____; j++; } if(q==NULL) return(0); p= ___(3)_____; ___(4)_____=p-next; free(___(5)_____); return(1); } 答案: (1)ji-1 (2)q=q-next (3)q-next (4)q-next (5)p 3.将新元素插入到线性表中的第i位,MAX是数组的个数,a[0]用以存放线性表长度,b存放待插入的元素值,i存放插入的位置,n存放线性表长度 { int a[MAX]; int i,j,b,n; scanf(“%d%d%d”,b,i,n); for(j=1;j=n;j++) scanf(“%d”,a[j]); a[0]=n; for(j=n; (1) ;j- -) (2) ; (3) ; (4) ; for(j=1;j=a[0];j++) printf(“%5d\n”,a[j]); } 答案: (1)j=i (2)a[j+1]=a[j] (3)a[i]=b (4)a[0]=n+1 4.用头插法建立带头结点且有n个结点的单向链表的算法 NODE *create(n) { NODE *head,*p,*q; int i p=(NODE *)malloc(sizeof(NODE)); (1) ; (2) ; (3) ; for(i=1;i=n;i++) { p=(NODE *)malloc(sizeof(NODE)); p-data=i; if(i==1) (4) ; else { (5) ; (6) ; } } return(head); } 答案: (1)head=p (2)p-next=NULL (3)q=p (4)p-next=NULL (5)p-next=q-next (6)q-next=p 栈 1. 以下函数为链栈的进栈操作,x是要进栈的结点的数据域,top为栈顶指针 struct node { ElemType data; struct node *next; }; struct node *top ; void Push(ElemType x) { struct node *p; p=(struct node*)malloc(___(1)_____);

文档评论(0)

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

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

1亿VIP精品文档

相关文档