数据结构实验报告(2)

2018-11-23 22:26

}

return OK; }

status Display(elemtype e){

printf(\return OK;

}

status main(){

sqlist LIST;elemtype ELEM;

elemtype * e=&(ELEM); sqlist * L=&(LIST); printf(\执行操作:\\n\

printf(\ InitList_Sq(L); List_Insert(L,1,10);

List_Insert(L,2,20); List_Insert(L,3,30); List_Travel(L,Display); printf(\执行操作:\\n\

printf(\ List_Delete(L,2);

List_Travel(L,Display); printf(\执行操作:\\n\

printf(\ GetElem(L,2,e); Display(ELEM); List_Travel(L,Display); getchar(); }

6

截图:

链式存储C程序: #include #include typedef int elemtype; typedef int status; #define ERROR -1 #define OK 1

#define OVERFLOW 2008 typedef struct Lnode{

elemtype data;

struct Lnode * next; } * Linklist; //头指针

status InitLinklist(Linklist & name) {

name=(Linklist)malloc(sizeof(Lnode));

if(!name)return ERROR; name->next=0;//定义指针域为空 return OK; }

status ListInsert(Linklist & name, int num, elemtype elem)

{

//在带头节点的单链表name中第i个位置之前插入元素elem

Linklist p;

7

p= name; int i=0;

while(p && inext;i++;}//寻找第num-1个节点并将P指向他

if(!p||i>num-1) return ERROR; Linklist temp; temp=(Linklist)malloc(sizeof(Lnode)); }

status ListDelete(Linklist & name,int num) { //在带头结点的单链表name中删除第num个数据元素元素 Linklist p;

}

status GetElem(Linklist & name, int num, elemtype & elem) {

Linklist p;

p=name->next;

p=name; int i=0;

while(p&&inext;i++;}

if(!p||i>num-1) return ERROR; Linklist temp=p->next;

p->next=p->next->next;//即使是删除最后一个元素,空指针也能继承 temp->data=elem; temp->next=p->next; p->next=temp; return OK;

free(temp);

int i=1; while(p && inext;++i;} if(!p||i>num) return ERROR; elem=p->data; return OK; }

status ListChange(Linklist & name, int num, elemtype elem) {

Linklist p;

p=name->next; int i=1;

while(p&&inext;} p->data=elem;

return OK;

}

status ListTravel(Linklist name, status (* visit) (elemtype i))

8

{

Linklist p;

p=name;int i=1; do{ p=p->next; printf(\第%d个元素为:\

(* visit)(p->data);

i++;

//注意:先移动指针再调用显示函数,因为do while 循环的特点是,先执行循环体

再判断while后的条件是否成立

}while(p->next); return OK;

}

status Display(elemtype i){ printf(\return OK;

}

status main()

{Linklist L; elemtype elem; int i;

printf(\执行操作:\\nInitLinklist(L)\\nfor(i=1;i<=5;i++)\\n{ListInsert(L,i,i);}\\n\InitLinklist(L);

for(i=1;i<=5;i++){ListInsert(L,i,i);} ListTravel(L,Display);

printf(\执行操作:\\nListChange(L,2,99)\\n\ListChange(L,2,99);

ListTravel(L,Display);

printf(\执行操作:\\nListInsert(L,6,6);\\n\

ListInsert(L,6,6);

ListTravel(L,Display);

printf(\执行操作:\\nGetElem(L,3,elem);\\nDisplay(elem);\\n\GetElem(L,3,elem); Display(elem);

ListTravel(L,Display);

printf(\执行操作:\\nListDelete(L,1);\\n\ListDelete(L,1);

ListTravel(L,Display); getchar(); return OK; }

截图:

9

10


数据结构实验报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:棚户区改造工程施工组织设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: