C语言之顺序表

顺序表是计算机内部存储的一张线性表,这里用一组连续的数组向大家介绍详细表。

首先是定义顺序表的长度

#define MaxSize 10

接下来是向顺序表中添加元素:

/*
参数:
	sqlist:顺序表的首地址
	len:   顺序表的长度
	i:     插入元素的位置
	num:   插入元素的值
返回值:无
*/
void Input_Elem(int sqlist[],int *len,int i,int num)
{
	int t;
	if((*len == MaxSize)||( i < 1 )||(i > *len+1))
	{
		printf("插入元素位置出错!\n");
		return ;
	}
	for(t = *len - 1 ;t > i-1 ; t--)
	{
		sqlist[t+1] = sqlist[t];
	}
	sqlist[i-1] = num;
	*len = *len +1;
}

那么插入之后应该如何删除顺序表的元素呢?

/*
参数:
	sqlist:顺序表的首地址
	*len:  顺序表的长度
	i:     删除元素的位置
返回值:无
*/
void Del_Elem(int sqlist[],int *len,int i)
{
	int j;
	if((i<1)||(i>len))
	{
		printf("删除元素位置出错!\n");
		return ;
	}
	for(j = i;j<*len;j++)
	{
		sqlist[j-1] = sqlist[j];
	}
	*len = *len - 1;  
}

再加上测试代码

int main()
{
	int Sqlist[MaxSize]; / /定义一个静态顺序表
	int len = 6;   //用于记录顺序表的长度,初始长度为6                            
	int i;
	printf("请输入6个数字:");
	for(i=0;i

这样一个简单的顺序表就创建完成了,还不清楚的小伙伴可以添加我的个人微信 lqy—1997 (中间是三个英文的杠)进行交流。

你可能感兴趣的:(C语言学习)