1 欢迎下载《数据结构》程序填空复习题说明:本文档中涉及到的算法并非本书的全部,有些可根据此处的情况自行看书和作业题,黑色为综合练习上的题目,红色为我另增加的题,这些空的选择是根据我个人的经验来决定的并不能完全代表中央电大的出卷老师,因此一定不能有肯定就考这些题目的想法
不能放弃其他内容的复习,切记
一、线性表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 ) { 精品文档
2 欢迎下载NODE *p,*q; int j; q=head; j=0; while((q
=NULL)&&( ___(1)_____)) { ___(2)_____; j++; } if(q==NULL) return(0); p= ___(3)_____