您的位置:逆风者 数据结构 正文
原作者:www.upwinder.com 添加时间:2007-09-02 原文发表:2007-08-31 人气:43 来源:未知

本文章共2532字,分2页,当前第2页,快速翻页:
 

->24

1
2
3
4
5
6
7
8
9
12 13 21 28 30 42 77 插入前n=8;插入后n=9; 删除前n=8;删除后n=7;
逆风者
顺序表的插入算法

status ListInsert(List *L,int i,ElemType e) {

struct STU *p,*q;

if (i<1||i>L->length 1) return ERROR;

q=&(L->elem[i-1]);

for(p=&L->elem[L->length-1];p>=q;--p)

*(p 1)=*p;

*q=e;

L->length;

return OK;

}/*ListInsert Before i */

顺序表的合并算法

void MergeList(List *La,List *Lb,List *Lc) {

ElemType *pa,*pb,*pc,*pa_last,*pb_last;

pa=La->elem;pb=Lb->elem;

Lc->listsize = Lc->length = La->length Lb->length;

pc = Lc->elem =

(ElemType *)malloc(Lc->listsize * sizeof(ElemType));

if(!Lc->elem) exit(OVERFLOW);

pa_last = La->elem La->length - 1;

pb_last = Lb->elem Lb->length - 1;

while(pa<=pa_last && pb<=pb_last) {

if(Less_EqualList(pa,pb)) *pC =*pa ;

else *pC =*pb ;

}

while(pa<=pa_last) *pC =*pa ;

while(pb<=pb_last) *pC =*pb ;

}

顺序表的查找算法

int LocateElem(List *La,ElemType e,int type) {

int i;

switch (type) {

case EQUAL:

for(i=0;i<length;i )

if(EqualList(&La->elem[i],&e))

return 1;

break;

default:

break;

}

return 0;

}

顺序表的联合算法

void UnionList(List *La, List *Lb) {

int La_len,Lb_len; int i; ElemType e;

La_len=ListLength(La); Lb_len=ListLength(Lb);

for(i=0;i<Lb_len;i ) {

GetElem(*Lb,i,&e);

if(!LocateElem(La,e,EQUAL))

ListInsert(La, La_len,e);

}

}

三、C语言源程序范例

四、总结

线性表的顺序表示

顺序表的插入算法

顺序表的合并算法


 
本文章更多内容<<上一页 - 1 - 2
相关文章

数据结构教程 第二十二课 实验五 数组实验
数据结构教程 第二十一课 树、二叉树定义及
数据结构教程 第三十八课 文件概念,顺序文
数据结构教程 第十二课 实验二 循环链表实验
数据结构教程 第十一课 栈的应用
数据结构教程 第二十八课 图的存储结构
数据结构教程 第三十七课 实验八 排序实验
二叉树基本操作的程序实现
数据结构教程 第二课 抽象数据类型的表示与
数据结构教程 第七课 实验一 线性表的顺序存
数据结构教程 第二十四课 遍历二叉树
数据结构教程 第三十一课 动态查找表
数据结构教程 第三十二课 哈希表(一)
数据结构教程 第十六课 串操作应用举例
排序及查找方法
数据结构教程 第二十六课 图的定义与术语
数据结构教程 第十课 栈的表示与实现
数据结构--序言
线索二叉树算法
数据结构教程 第三十六课 选择排序,归并排

相关评论


本文章所属分类:首页 数据结构

  热门关键字: