《算法与数据结构》实验指导书
}
2. 遍历子函数 travser(sqlist l)
{//依次输出顺序表l中各个元素的值 p=l.elem;
for(j=0;j<=l.length-1;j++) printf(p[j]); }
3. 插入子函数
status listinsert(sqlist &l,int i, elemtype e) {在顺序表l的第i个元素前插入e if (l.length>=l.listsize)
l.elem=(elemtype *)realloc(l.elem,(initsize+increment)*sizeof(elemtype)); if(!l.elem)exit(overflow); for(j=l.length-1;j>=i-1;j--) l.elem[j+1]=l.elem[j]; l.elem[i-1]=e; l.length++; return ok; }
4. 删除子函数
status listdelete(sqlist &l,int i, elemtype &e) {//删除顺序表l的第i个元素,用e返回其值 if ((I<1)||(I>l.length)) rerurn error; p=l.elem+I-1; e=*p;
q=l.elem+l.length-1 for(++p;p<=q;++p) *(p-1)=*(p) l.length--; return ok; }
六、选作实验
1. 判断该顺序表中元素是否对称,对称返回1,否则返回0。
2. 实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。
实验二 链式存储结构(一)----单向链表的有关操作
一、实验目的:
了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法。
二、实验内容:
1.随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。