C 比较以前插入排序算法的数组元素
我正在使用插入排序算法。正如您所知,我们需要将数组元素与以前的数组元素进行比较。我尝试使用嵌套循环执行此操作:C 比较以前插入排序算法的数组元素,c,arrays,algorithm,sorting,C,Arrays,Algorithm,Sorting,我正在使用插入排序算法。正如您所知,我们需要将数组元素与以前的数组元素进行比较。我尝试使用嵌套循环执行此操作: scanf("%d", &size); //gets array size int array[size]; int temp = 0; for (int i = 0; i < size; i++) { scanf("%d", &array[i]); } // Takes the index of array. /* Sorting part be
scanf("%d", &size); //gets array size
int array[size];
int temp = 0;
for (int i = 0; i < size; i++) {
scanf("%d", &array[i]);
} // Takes the index of array.
/*
Sorting part begins.
*/
for (int j = size - 1; j <= 0; j--) {
int pseudoJ;
pseudoJ = j;
while (1) {
if (array[pseudoJ] < array[pseudoJ - 1]) {
temp = array[pseudoJ];
array[pseudoJ] = array[pseudoJ - 1];
array[pseudoJ - 1] = temp;
pseudoJ--;
} else
break;
}
}
/*
* Sorting Par Ends.
*/
scanf(“%d”、&size)//获取数组大小
int数组[大小];
内部温度=0;
对于(int i=0;i2>1)而言,
我希望输出1>2>3
,但输出仍然是3>2>1
发布的代码有多个问题:
- 外部循环立即退出:测试应该是
j>0
而不是j。您是否尝试使用调试器单步执行代码?不,我不允许使用gdb。请仔细查看第二个循环的边界条件。是的,当我更改几行代码时,它会比较上一个数组元素但是没有和以前的相比..谢谢你的贡献!