顺序线性表和单链表的插入,删除操作
来源:互联网 发布:mac新系统sierra 编辑:程序博客网 时间:2024/04/28 18:58
线性表的插入:
Status ListInsert_Sq(SqList &L,int i,ElemType e)
{
//在顺序线性表L中第i个位置之前插入新的元素e,
// i的合法值为1<=i<=ListLength_Sq(L)+1
if(L.length>=L.listsize)
{
newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));
if(!newbase) exit(OVERFLOW);
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;
return ok;
}// ListInsert_sq
线性表的删除:
Status ListDelete_Sq(SqList &L,int i,ElemType &e)
{
//在顺序线性表L中删除第i个元素,并用e返回其值,
// i的合法值为1<=i<=ListLength_Sq(L)
if((i<1)||(i>L.length)) return 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;
}//ListDelete_sq
单链表的插入:
Status ListInsert_L(LinkList &L,int i,ElemType e)
{
//在带头结点的单链表L中第i个位置之前插入元素e
p=L;j=0;
while(p&&j<i-1)
{p=p->next;++j;}
if(!p||j>i-1)return ERROR;
s=(LinkList)malloc(sizeof(LNode));
s->data=e;s->next=p->next;
p->next=s;
return OK;
} //ListInsert_L
单链表的删除:
Status ListDelete_L(LinkList &L,int i,ElemType &e)
{
p=L;j=0;
while(p->next&&j<i-1){
p=p->next;++j;
}
if(!(p->next)||j>i-1) return ERROR;
q=p->next;p->next=q->next;
e=q->data;free(q);
return OK;
}//ListDelete_L
- 顺序线性表和单链表的插入,删除操作
- C语言实现线性表的插入和删除操作
- 编程实现顺序存储结构和链式存储结构线性表的建立、查找、插入、删除等基本操作
- 线性表 初始化 插入 删除 的操作
- 数据结构线性表之顺序表的基本操作插入、删除、遍历、初始化
- 数据结构之线性表的顺序结构操作2-(删除,插入,查值等)
- 线性表的顺序存储格式基本操作:初始化、插入、删除、查找、打印
- 线性表顺序存储结构插入和删除
- 线性表的添加、删除、插入功能的顺序实现
- 线性表的输入输出插入删除查找(顺序表示)
- 【数据结构】顺序线性表的插入、删除、合并实现
- 线性表的顺序储存结构 初始化、查找、删除、插入
- 数据结构-顺序线性表的初始化,插入,删除
- C语言实现顺序线性表的表示、插入、删除
- 线性表顺序存储结构插入和删除的实现 java
- 线性表的插入和删除
- 线性表的插入和删除
- 【数据结构】线性表的顺序表示和实现,实现插入和删除算法,并且实现顺序表的合并
- 在windows批处理脚本中实现循环计数。
- iOS - UIButton(UIEdgeInsets)/设置button上的文字和图片 在定义位置
- XHR(XMLHttpRequest)与Linux下的CGI交互
- zxing
- 绝对精彩的马字成语接龙40龙
- 顺序线性表和单链表的插入,删除操作
- 在eclipse使用tomcat调试工程的源代码时找不到类的解决办法
- Linux unix 的 useradd 用法详解
- sort排序
- 一位从业20年的程序员分享积累的20条编程经验
- 提供一个tulua++的makefile
- iOS官方Sample大全
- POJ 1789-T H 最小生成树初接触
- vim典型开发环境设置