概述
在任意位置插入数据
如下图,假如我们要将一个数据val插入任意一个位置pos,我们就应该把原本放在这个位置以及它后面的数据全都往后移动。
假如我们要将数据val插入第三个(pos=3),我们就应该把原本放在第三个的数字及他后面的数字都向后移动,然后再将val放在第三个位置,而原本的3以及它后面的数据将依次移动到第四个位置第五个位置第六个位置以此类推知道所有的数据都移动完成后。再进行插入
1.检查容量
2.平移数据
int end2 = s1->_size;
while (end2>pos) {
s1->_data[end2] = s1->_data[end2- 1];
–end2;
}
3.插入数据
4.数据数量加一
void seqlistinsert(seqlist*s1,int pos,sldatatype val) {
if (s1 == NULL )
return;
if (pos >= 0 && pos <= s1->_size) {
//检查容量
seqlistcheckcapacity(s1);
//移动元素
int end2 = s1->_size;
while (end2>pos) {
s1->_data[end2] = s1->_data[end2- 1];
--end2;
}
//插入
s1->_data[pos] = val;
++s1->_size;
}
}
如果有什么不对的地方 欢迎大家提出意见 ????
最后
以上就是单身香烟为你收集整理的数据结构 在顺序表中任意部位插入数据的全部内容,希望文章能够帮你解决数据结构 在顺序表中任意部位插入数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复