当前位置:首页 » 《随便一记》 » 正文

【数据结构与算法】线性表的重要基本操作与代码实现【C语言版】_胡毛毛的博客

19 人参与  2021年12月01日 17:23  分类 : 《随便一记》  评论

点击全文阅读


目录

  • 线性表的重要基本操作
    • 1、初始化
      • 初始化线性表L(参数用引用)
      • 初始化线性表L(参数用指针)
        • 销毁、清空线性表L
      • 求线性表L的长度、判断线性表L是否为空
    • 2、取值
      • 获取线性表L中的某个数据元素的内容
    • 3、查找
      • 在线性表L中查找值为e的数据元素
    • 4、插入
      • 插在第 i 个结点之前
      • 算法步骤
      • 算法描述
      • 算法时间复杂度分析
    • 5、删除
      • 删除第 i 个结点
      • 算法步骤
      • 算法描述
      • 算法分析
    • 顺序表的时间、空间复杂度分析
    • 顺序表(顺序存储结构)的特点
    • 顺序表的优缺点
  • 顺序表的代码实现(C++)
    • 初始化、插入
      • 结果
    • 删除
      • 结果

线性表的重要基本操作

在这里插入图片描述

1、初始化

初始化线性表L(参数用引用)

在这里插入图片描述

初始化线性表L(参数用指针)

在这里插入图片描述

销毁、清空线性表L

在这里插入图片描述

求线性表L的长度、判断线性表L是否为空

在这里插入图片描述

2、取值

获取线性表L中的某个数据元素的内容

在这里插入图片描述

3、查找

在这里插入图片描述
在这里插入图片描述

在线性表L中查找值为e的数据元素

在这里插入图片描述

4、插入

插在第 i 个结点之前

在这里插入图片描述

算法步骤

在这里插入图片描述

算法描述

在这里插入图片描述

算法时间复杂度分析

在这里插入图片描述

5、删除

删除第 i 个结点

在这里插入图片描述

算法步骤

在这里插入图片描述

算法描述

在这里插入图片描述

算法分析

在这里插入图片描述

顺序表的时间、空间复杂度分析

在这里插入图片描述

顺序表(顺序存储结构)的特点

在这里插入图片描述

顺序表的优缺点

在这里插入图片描述

顺序表的代码实现(C++)

初始化、插入

#include<stdio.h>
#define OK 1 
#define ERROR 0 
#define OVERFLOW -2
#define  MAXSIZE 100     //最大长度

typedef int Status;
typedef int ElemType;

typedef  struct {
  ElemType  *elem;     //指向数据元素的基地址
  int  length;          //线性表的当前长度                                                      
 }SqList;

//初始化
Status InitList_Sq(SqList &L){    //构造一个空的顺序表L
    L.elem=new ElemType[MAXSIZE];   //为顺序表分配空间
    if(!L.elem) return(OVERFLOW);       //存储分配失败
    L.length=0;					  //空表长度为0
    return OK;
}

//插入
Status ListInsert_Sq(SqList &L,int i ,ElemType e){
   int j;
   if(i<1 || i>L.length+1) return ERROR;	         //i值不合法
   if(L.length==MAXSIZE) return ERROR;    //当前存储空间已满     
   for(j=L.length-1;j>=i-1;j--) 
       L.elem[j+1]=L.elem[j];    //插入位置及之后的元素后移
    L.elem[i-1]=e;                     //将新元素e放入第i个位置
   ++L.length;		     	//表长增1
   return OK;
}

//删除
/*
Status ListDelete_Sq(SqList &L,int i,ElemType &e){
	int j;
	if((i<1)||(i>L.length)) return ERROR;	 //i值不合法
	if(L.length==0) return ERROR;
	e=L.elem[i-1];
	for (j=i;j<=L.length-1;j++)                   
		L.elem[j-1]=L.elem[j];       //被删除元素之后的元素前移  
	--L.length;               	      //表长减1
	return OK;
}
*/


void printList(SqList L){
	int i;
	for(i=0;i<L.length;i++)
		printf("%d ",L.elem[i]);
	printf("\n");
	 
}
void main(){
	 int i;
	 SqList	List;
	 ElemType m;

	 //初始化
	 InitList_Sq(List);
	
	 //插入
	 //ListInsert_Sq(List,1,1);
	 for(i=1;i<6;i++){
		ListInsert_Sq(List,i,i);
	 }
	 printList(List);
	 /*
	 //删除    
	 ListDelete_Sq(List,3,m);
	 printf("delete:%d\n",m);
	 printList(List);
	 */
 }

结果

在这里插入图片描述

删除

Status ListDelete_Sq(SqList &L,int i,ElemType &e){
	int j;
	if((i<1)||(i>L.length)) return ERROR;	 //i值不合法
	if(L.length==0) return ERROR;
	e=L.elem[i-1];
	for (j=i;j<=L.length-1;j++)                   
		L.elem[j-1]=L.elem[j];       //被删除元素之后的元素前移  
	--L.length;               	      //表长减1
	return OK;
}

void main(){
	 int i;
	 SqList	List;
	 ElemType m;

	 //初始化
	 InitList_Sq(List);
	
	 //插入
	 //ListInsert_Sq(List,1,1);
	 for(i=1;i<6;i++){
		ListInsert_Sq(List,i,i);
	 }
	 printList(List);
	
	 //删除    
	 ListDelete_Sq(List,3,m);
	 printf("delete:%d\n",m);
	 printList(List);
	 
 }

结果

在这里插入图片描述


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/31487.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 山海不相逢内容精选(温逸尘沈衿)_山海不相逢内容精选(温逸尘沈衿)
  • (番外)+(全书)霍沉洲沈青禾此去经年人未还(霍沉洲沈青禾)_(霍沉洲沈青禾此去经年人未还)列表_笔趣阁(霍沉洲沈青禾)
  • (番外)+(全书)霍沉洲沈青禾(此去经年人未还霍沉洲沈青禾)完结_(霍沉洲沈青禾)列表_笔趣阁(此去经年人未还霍沉洲沈青禾)
  • 「重回八零,拒绝替嫁冲喜」章节彩蛋限时释出‌_卫东玉兰苏夏人气小说未删减节选
  • 重生七零祁同伟不再是农民儿子结局+番外纯净版全书免费重生七零祁同伟不再是农民儿子结局+番外纯净版全书免费
  • 傅雅宁的神女老婆,却在背地承欢作乐顾尘傅雅宁全书在线
  • 全文神女老婆,却在背地承欢作乐全局(顾尘傅雅宁)列表_全文神女老婆,却在背地承欢作乐全局
  • (番外)+(全书)此去经年人未还全书+番外+后续免费下载_(沈青禾霍沉洲)此去经年人未还全书+番外+后续列表_笔趣阁(沈青禾霍沉洲)
  • 完结文毁容的姐姐和瞎眼的我离开后,姜家两兄弟悔哭了+后续列表_完结文毁容的姐姐和瞎眼的我离开后,姜家两兄弟悔哭了+后续(林梦婉)
  • 妻子辱我爸受贿自杀,我掏出一等军功章节选推荐_[陈素云辰朋友]小说精彩章节分享
  • 全书浏览苔藓爬满旧日诺言新上(顾砚廷慕晚夏)_苔藓爬满旧日诺言新上(顾砚廷慕晚夏)全书结局
  • 顾尘傅雅宁(神女老婆,却在背地承欢作乐+后续+结局)结局_(顾尘傅雅宁神女老婆,却在背地承欢作乐+后续+结局全书结局)结局列表_笔趣阁(顾尘傅雅宁)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1