数据结构的顺序存储结构——顺序表(二) 顺序表的基本操作(C语言)

顺序表的基本操作

1.插入元素
2.删除元素
3.查找元素
4.更改元素

插入操作

插入操作根据插入的位置不同分三种情况:
1.插入表头。
2.插入表的的中间位置。
3.插入表的尾部作为表的最后一个元素。
虽然插入顺序表的位置可能不同,但是都可以根据一个方法解决:
1.找到元素要插入的位置,将该位置的元素以及后续元素遍历往后移动一个位置。
2.把元素放进腾出的空间。

C语言代码实现如下:

table insertTable(table t,int add,int elem){
   
	int i;
	if(add<1||add>t.length+1){
   
		printf("插入位置不合理");
		return t;
	}
	if(t.length==t.size){
   
		t.head=(int*)realloc(t.head,(t.size+1)*sizeof(int));
		if(!t.head){
   
			printf("内存分配失败");
			return t;
		}
		t.size+=1; 
	}
	for(i=t.length-1;i>=add-1;i--){
   
		t.head[i+1]=t.head[i]; 
	}
	t.head[add-1]=elem;
	t.length++;
	return t;	 
}

运行结果:
在这里插入图片描述

删除操作

删除操作根据删除的方式不同可以分为两种情况:
1.根据位置删除。
2.根据值删除。
虽然删除顺序表的元素方式可能不同,但是都可以根据一个方法解决:
1.找到目标元素。
2.并将其后续所有元素整体前移 1 个位置。

(位删除)C语言代码实现如下:

//根据位置删除 
table deletePosition(table t,int del){
   
	int i;
	if(del<1||del>t.length+1){
   
		printf("删除位置不合理");
	}
	for(i=del-1;i<=t.length-1;i++){
   
		t.head[i]=t.head[i+1];
	}
	t.length--;
	return t;
}

运行结果如下:
在这里插入图片描述
(值删除)C语言代码实现如下:

//根据值删除
table deleteValue(table t,int value){
   
	int i;
	int j;
	int temp;
	for(i=0;i<=t.length-1;i++){
   
		if(value==t.head[i]){
   
			temp=i;
			for(j=temp-1;i<=t.length-1;i++){
   
	
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值