线性表---单链表

线性表

一、线性表的定义

  • 零个或多个数据元素的有限序列

二、线性表的特点

  • 1.它是一个序列
     a.数据元素之间是有序的
    %nbsp;b.数据元素之间是一对一的关系
  • 2.有限性

三、存储结构

1.顺序存储结构
2.链式存储结构

– 解决以下问题

(1) 顺序表的基本描述
(2)顺序表的查找;

代码如下:
LinkList  LocateELem (LinkList L,Elemtype e) {
	p=L->next;j++;
  	while(p)  
{
		if(p->data == e)
			return p;
       else
		{ p=p->next;       
        j++;
		}
}         		
  	return p;
 } 

(3)顺序表的插入;

代码如下:
int ListInsert(LinkList &L,int i,ElemType e){ 
     p=L;j=1; 
      while(p&&j<i){p=p->next;++j;}	//寻找第i−1个结点 
      if(!p||j>i−1)return 0;	//i大于表长 + 1或者小于1  
      q=new LNode;			//生成新结点s 
      q->data=e;      		 
	  q->next=p->next;	   	          //将结点s插入L中 
      p->next=q; 
      return 1; 
}

(4)顺序表的删除;

代码如下:
int ListDelete_L(LinkList &L,int i){
    p=L;j=1; 
    while(p &&j<i){//寻找第i个结点,并令p指向其前驱 
        p=p->next; ++j; 
    } 
    if(!p||j>i) return 0; //删除位置不合理 
    q=p->next; //临时保存被删结点的地址以备释放 
    p->next=q->next; 	//改变删除结点前驱结点的指针域 
    delete q; 	//释放删除结点的空间 
    return 1; 
}

(5)顺序表的取值

int GetElem(LinkList L,int i,ElemType &e){ 
p=L->next;
j=1; //初始化
     while(p&&j<i){	//向后扫描,直到p指向第i个元素或p为空 
       p=p->next; 
++j; 
     } 
     if(!p || j>i)  return 0; //第i个元素不存在 
     e=p->data; //取第i个元素 
     return 1; 
}

四、顺序表的特点

在这里插入图片描述

五、顺序表的优缺点

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊 : )

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值