顺序表的相关操作(c语言版)

本学期刚刚学数据结构,如果有不对的地方,还请大家指正,共同进步~~~~~

一.顺序表基本运算的实现

1.建立顺序表(此处只是简单的实现了将一个数组元素复制到L的data数组中)

//该算法实现了将数组a[]中的元素依次复制到L的data数组中
void Createlist(SqList *&L,ElemType a[],int n)
{
int i=0,k=0;
while(i<n){
L->data[i]=a[i];
k++;//用来记录线性表的长度
i++;
}
L->length=k;
}

2.线性表的初始化

注:malloc和下面出现的free函数头文件均为<stdlib.h>

void Initlist(SqList *&L) {
	L=(SqList*)malloc(sizeof(SqList));//动态分配空间
	L->length=0;//刚开始线性表里没有存入元素,长度为0
}

3.线性表的销毁

void DesList(SqList *&L){
	free(L);//释放L所指的空间
 
}

4.判断线性表是不是空表

//直接使用布尔类型判断线性表的长度是否等于0
bool ListEmpty(SqList *L){
	return (L->length==0);
}

5.输出线性表的元素

void printList(SqList *L){
	for(int i=0;i<L->length;i++){//使用循环输出
		printf("%d",L->data[i]);
	}
}

6.输出线性表中指定编号的元素,并用e返回指定编号元素的值

bool GetElem(SqList *L,int n,ElemType e) {
	if(L==NULL)
	 return false;
	else{
		e=L->data[n-1];
		return true;
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值