gpt4 book ai didi

c - 插入排序数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:35 25 4
gpt4 key购买 nike

我想将一个元素插入到排序列表中保持顺序的正确位置。我为数组分配了 2*n 大小,其余部分用 999 填充,因为它们当前未使用。

ordered_insert(int number,int array[],int size){
int i=0;
int temp1,temp2,index;
while(eleman>array[i]){
i++;}

//push the rest to right by one
index=i;

if(i<size){
temp1=array[i];
temp2= array[i+1];
array[i+1]=temp1;
array[i+2]=temp2;
i++;
}

array[index]=number;

}

我不知道如何覆盖 999,或者有更好的方法吗?

最佳答案

为了将所有后面的数组元素向前移动一步,您必须向后遍历数组,这样您就不会覆盖元素。

一旦你得到索引,

int i = size;
while ( i > index ) {
array[i] = array[i-1];
i--;
}
array[i] = number;
size++;

关于c - 插入排序数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20222891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com