栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

顺序表的删除C语言数据结构--一种直接删除元素,另一种把删除的元素打印出来

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

顺序表的删除C语言数据结构--一种直接删除元素,另一种把删除的元素打印出来

此处有两种代码段,一种是直接删除元素的,另一种把删除的元素打印出来,并删掉该元素
代码中基本上每句都有注释

直接删除元素

#include
#include

#define Maxsize 10 
//定义顺序表 
typedef struct{
	int * elem;			//定义顺序表存储空间基址 
	int length;			//定义顺序表的长度 
}SqList;

SqList InitList(SqList &L){
	//给顺序表分配内存 
	L.elem = (int *)malloc(Maxsize * sizeof(int));
	//初始化顺序表长度 
	L.length = 0;
	return L;
}
//声明两个操作 
SqList ListDelete(SqList &L,int i);
void DisplayList(SqList L);

int main(){
	//定义顺序表 
	SqList L;
	//初始化顺序表 
	L = InitList(L);
	int i,j;
	//给顺序表写入数据 
	for(i=0;iL.length){
		return L;
	}
	int j;
	//把要删除位置元素之后依次往前移,把要删除位置的元素覆盖掉 
	for(j=i;j<=L.length-1;j++){
		//让后一个元素往前移动 
		L.elem[j-1] = L.elem[j];
	}
	//长度减一 
	L.length--;
	return L;
}

void DisplayList(SqList L){
	int i;
	for(i=0;i 

删除的元素打印出来,并删掉该元素

#include
#include

#define Maxsize 10 
//定义顺序表 
typedef struct{
	int * elem;			//定义顺序表存储空间基址 
	int length;			//定义顺序表的长度 
}SqList;

SqList InitList(SqList &L){
	//给顺序表分配内存 
	L.elem = (int *)malloc(Maxsize * sizeof(int));
	//初始化顺序表长度 
	L.length = 0;
	return L;
}
//声明两个操作 
SqList ListDelete(SqList &L,int i,int *e);
void DisplayList(SqList L);

int main(){
	//定义顺序表 
	SqList L;
	//初始化顺序表 
	L = InitList(L);
	int i,j;
	int *e;
	//给顺序表写入数据 
	for(i=0;iL.length){
		return L;
	}
	int j;
	//定义一个指针 
	int *p;
	//将要删除元素的地址赋值给指针p 
	p = &(L.elem[i-1]);
	//将要删除元素的值赋值给形参,以便在主函数打印出来 
	*e = *p;
	//把要删除位置元素之后依次往前移,把要删除位置的元素覆盖掉 
	for(j=i;j<=L.length-1;j++){
		//让后一个元素往前移动 
		L.elem[j-1] = L.elem[j];
	}
	//长度减一 
	L.length--;
	return L;
}

void DisplayList(SqList L){
	int i;
	for(i=0;i
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739416.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号