return r; }//calculate
/*------------------------------------------------------------------------------------------------------*/ DuLinkList Pack_Up(DuLinkList r) //整理链表r { ElemType e; int i=0; for(i=1;i
/*------------------------------------------------------------------------------------------------------*/ void output(DuLinkList r) { int x=0,i=0; if(GetElemP_DuL(r,0)->data=='-')printf(\ for(i=1;i<=ListLength_DuL(r);i++) { if(i!=1)
{ x=counter(GetElemP_DuL(r,i)->data); for(int j=0;j<4-x;j++) printf(\ } printf(\ if(GetElemP_DuL(r,i)->next!=r)printf(\ }//for DestroyList_DuL(r); }//output
/*------------------------------------------------------------------------------------------------------*/ int max(int *num,int k ) //返回最大值 { int i=0,a=0,b=0; a=num[0]; b=num[1]; for(i=1;i /*------------------------------------------------------------------------------------------------------*/ int counter(int a) //计算整数位数 { if(1000<=a&&a<10000) return 4; else if(100<=a&&a<1000)return 3; else if(10<=a&&a<100)return 2; else if( 0<=a&&a<10)return 1; }//counter /*Read.cpp*/ #include\ /**************************************************************************************************/ /****************************读入函数read_r()******************************************************/ /**************************************************************************************************/ DuLinkList read_r() { DuLinkList L; ElemType e; int i=0,j=0,n=0; InitList_DuL(L); for(j=0;(e=getchar())!='\\n';) { if(e==','||e==';')exchange(L,j); ListInsert_DuL(L, ListLength_DuL(L),(int)e); if(e!=','&&e!=';'&&e!='-')++j; } return(L); }//read_r /*main.cpp*/ #include\#include 五. 实验数据和结果分析 六. 总结 通过本实验,对链表的逻辑结构特性有一定的了解,对线性表的链式存储结构有比较深刻的印象,灵活运用线性表在链式存储结构上实现基本操作:查找,插入,删除的算法。 对链表结构进一步了解,印象加深。

