有序顺序表插入数据X

该博客详细介绍了如何在已排序的顺序表中插入元素,通过从尾部向前遍历找到合适位置,然后将大于插入元素的节点依次后移,最终实现元素的正确插入,保持顺序表的递增有序性。代码示例展示了具体的插入操作过程。

思路:设顺序表L为递增有序,从L的终端结点,往前遍历L,找到插入x的位置,插入x,将大于x的元素往后移动一个单位即可;另外,在往前扫描的过程中,可以边扫描边遍历。

代码:

typedef struct{
	ElementType  data[100];
	int length;
}SeqList;//顺序表存储结构;

void InsertSeqList(SeqList L,ElementType x){
	int i;//i指示位置;
	for(i=L.length;i>0&&L.data[i-1]>x;--i){//从终端结点开始扫描,当找到第一个小于x的元素时终止; 
		L.data[i] = L.data[i-1];//交换; 
	} 
	//插入x,元素数++; 
	L.data[i] = x;
	L.length++;
} 

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值