资源描述:
《数据结构作业教学提纲.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构作业精品文档#include#include#include#defineNULL0typedefstructLnode{intdata;structLnode*next;}Lnode,*linkList;voidcreateList(linkList*L,intn){Lnode*p,*q;inti;(*L)=(linkList)malloc(sizeof(Lnode));(*L)->next=NULL;q=(*L);for(i=1;i<=n;i++){p=(Lnode*)malloc(size
2、of(Lnode));scanf("%d",&p->data);q->next=p;q=p;p->next=NULL;收集于网络,如有侵权请联系管理员删除精品文档}}voidprintout(linkListL){linkListp;p=L->next;while(p){printf("%d",p->data);p=p->next;}}voidinsert(linkList*L,intelement,intw){linkListp,q;intj=1;q=(*L)->next;p=(linkList)malloc(sizeof(Lnode));p->data=
3、element;if(w==1){p->next=(*L)->next;(*L)->next=p;}else{while(q&&jnext;j++;}p->next=q->next;q->next=p;}}del(linkList*L,intw){intelement;linkListp;intj=1;收集于网络,如有侵权请联系管理员删除精品文档p=(*L)->next;if(w==1){(*L)->next=p->next;}else{while(jnext;j++;}element=p->next->data;
4、p->next=p->next->next;}returnelement;}main(){linkListL;intn,w,element;printf("inputthenumberofList:");scanf("%d",&n);printf("inputyoudatas:");createList(&L,n);printf("thedatasare:");printout(L);printf("thedatayouwanttoinsert:");scanf("%d",&element);printf("thelocationyouwanttoins
5、ert:");scanf("%d",&w);insert(&L,element,w);printf("Nowyourlistis:");printout(L);printf("inputthelocationofyouwanttodelete:");scanf("%d",&w);printf("thedataof%disdelete!",del(&L,w));printf("Nowyourlistis:");printout(L);printf("");system("pause");收集于网络,如有侵权请联系管理员删除精品文档}第二章作业一选择
6、题1.下述哪一条是顺序存储结构的优点?(A)A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示2.下面关于线性表的叙述中,错误的是哪一个?(B)A.线性表采用顺序存储,必须占用一片连续的存储单元。B.线性表采用顺序存储,便于进行插入和删除操作。C.线性表采用链接存储,不必占用一片连续的存储单元。D.线性表采用链接存储,便于插入和删除操作。3.线性表是具有n个(C)的有限序列(n>0)。A.表元素B.字符C.数据元素D.数据项E.信息项4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用(A)存
7、储方式最节省时间。A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(D)存储方式最节省运算时间。A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用(D)最节省时间。A.单链表B.单循环链表C.带尾指针的单循环链表D.带头结点的双循环链表7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用(D)存储方式最节省运算时间。A.单链表B.双链表C.单循环链表D.带头
8、结点的双循环链表8.静态链表中指针表示的是(C).A