实验报告实验课程:学生姓名:学号:专业班级:2013年2月25日目录实验1线性表 3实验2栈与队列 4实验3串 5实验4数组与广义表 6实验5二叉树的操作 7实验6图的操作 8实验7查找的操作 9实验8排序的操作 10南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合□设计□创新实验日期:2013-4-12实验成绩:。掌握线性表上的基本操作。、VisualC++开发环境、或其它C语言开发环境。。书写程序源代码。调试程序。验证程序。实验项目顺序表代码:#defineOK1#defineERROR0#URE1#defineFALSE0typedefintstatus;typedefintElemType;#defineLIST_INIT_SIZE100#defineLISTINCREMENT10typedefstruct{ ElemType*elem; intlength; intlistsize;}SqList;statusInitList_Sq(SqList**L);statusListInsert_Sq(SqList*L,inti,ElemTypee);statusListDelete_Sq(SqList*L,inti);intLocateElem(SqList*L,ElemTypee);#include<>#include""statusInitList_Sq(SqList**L){ *L=(SqList*)malloc(sizeof(SqList)); (**L).elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType)); (**L).length=0; (**L).listsize=LIST_INIT_SIZE; returnOK;}statusListInsert_Sq(SqList*L,inti,ElemTypee){ ElemType*newbase,*p,*q; if(i<1||i>L->length+1) { returnERROR; } if(L->length>=L->listsize) { newbase=(ElemType*)realloc(L->elem,(L->listsize+LISTINCREMENT)*sizeof(ElemType)); L->elem=newbase; L->listsize+=LISTINCREMENT; } q=&(L->elem[i-1]); for(p=L->elem+L->length-1;p>=q;p--) { *(p+1)=*p; } *q=e; L->length++; returnOK;}statusListDelete_Sq(SqList*L,inti){ ElemType*q,*p; if(i<1||i>L->length) { returnERROR; } p=&(L->elem[i]); for(q=L->elem+L->length-1;p<=q;p++) { *(p-1)=*p; } L->length--; returnOK;}intLocateElem(SqList*L,ElemTypee){ inti=0; while(i<L->length&&L->elem[i]!=e)i++; if(i>=L->length) return0; else returni+1;}#include<>#include""voidprintfElems(SqList*L){ inti; for(i=0;i<L->length;i++) { printf("%d",L->elem[i]); } printf("\n");}voidmain(){ SqList*list; InitList_Sq(&list);//初始化顺序表 ListInsert_Sq(list,1,10);//把10插入第一位置 ListInsert_Sq(list,1,9);//把9插入第一位置 ListInsert_Sq(list,1,8);//把8插入第一位置 ListInsert_Sq(list,1,7);//把7插入第一位置 printfElems(list);//打印出所有元素 ListDele
南昌大学实验1~8实验报告 来自淘豆网www.taodocs.com转载请标明出处.