【发布时间】:2019-04-03 02:47:27
【问题描述】:
我正在尝试像这样对一组数字进行排序:
A[]={3,6,7,2,9,1,2,7,2}
A[]={3,6,7,2,2,2,9,1,7}
所以我做了这个:
void sort_min(int* point, int size_array, int min_n){
int i = 0;
int j = 0;
int k = 0;
while(point[i] != min_n){
i++;
}
j = i+1;
while(point[j] != min_n){
j++;
}
k = j;
for (j-1; j > i; j--){
point[j] = point[j-1];
}
point[j] = min_n;
j = k+1;
}
你可以注意到我从来没有使用过int size_array,因为我不知道如何匹配像a这样的迭代函数 for 或者一个 while(这就是问题所在。如何解决?)。当然,我已经做到了,但我有一个 Segmentation fault 之类的答案。
主要概念是寻找一个数字int min_n,然后在数组中每次出现时对该数字进行排序。
谢谢大家。
【问题讨论】:
-
这是什么意思? A[]={3,6,7,2,9,1,2,7,2} A[]={3,6,7,2,2,2,9,1,7} 。第二个数组是如何排序的?或者你只是举两个例子。说清楚。
-
你选错了,我想。阅读一些基础知识。
-
那么
min_n是什么朋友?再加上你的for循环不正确......for(j-1..)它需要是某种赋值语句......比如j=j-1或j=size_arr或其他东西...... -
正如@Md.MokammalHossenFarnan 所问的那样,两个同名的数组有什么意义?或者如果你说第二个是第一个的排序形式..那是怎么回事?
-
这是基本。我知道。但我试图得到不同的答案。我的意思是,如果有一个关于更好 编码方式的证明,你的答案可能会很好。我正在尝试获取有关算法的数学方法...另一方面,
int_min是要查找的数字。数组A[]是明确的。int数组。我的意思是int A[]={3,6,7,2,9,1,2,7,2}... 另一个是相同的,但按照我想要得到的那种方式排序...
标签: c algorithm sorting insertion-sort insertion