data);}//不然,p先移到指定的位置,输出其数据?}while(p->next!=q);?//结束条件(p移到的下一个位置不是q,即不是最初的p,完成循环输出)}voidmain(){?listl;?intpos;?printf("创建%d个元素的循环链表,请输入%d个元素:\n",N,N);?cr" /> data);}//不然,p先移到指定的位置,输出其数据?}while(p->next!=q);?//结束条件(p移到的下一个位置不是q,即不是最初的p,完成循环输出)}voidmain(){?listl;?intpos;?printf("创建%d个元素的循环链表,请输入%d个元素:\n",N,N);?cr" />

全文预览

数据结构上机考试(含答案)

上传者:非学无以广才 |  格式:doc  |  页数:32 |  大小:86KB

文档介绍
/如果指定位置为1,即按原样输出 else{p=p->next;printf("%d",p->data);}//不然,p先移到指定的位置,输出其数据?}while(p->next!=q);?//结束条件(p移到的下一个位置不是q,即不是最初的p,完成循环输出)}voidmain(){?listl;?intpos;?printf("创建%d个元素的循环链表,请输入%d个元素:\n",N,N);?creatList(l,N);?printf("请指明从第几个位置输出循环链表中的元素:");?scanf("%d",&pos);?while(pos<=0||pos>N)?{ printf("输入的位置不存在,请重新输入..."); scanf("%d",&pos);?}?printList(l,pos);}11#include<stdio.h>#include<stdlib.h>#defineN5#defineNULL0#defineOK1#defineERROR0//链表的存储结构typedefstructLNode{?intdata;?structLNode*next;}LNode,*list;//创建链表voidcreatList(list&l,intn){?listp,q;?l=(list)malloc(sizeof(LNode));?scanf("%d",&l->data);//头结点也添加元素,方便输出?p=l;?for(inti=1;i<n;i++)?{ q=(list)malloc(sizeof(LNode)); scanf("%d",&q->data); p->next=q; p=q;?}?p->next=l;//让最后一个p->next指针指向头结点,构成循环链表}//输出链表voidprintList(listl,intpos){?listp,q;?inti;

收藏

分享

举报
下载此文档