前言:
当前各位老铁们对“c语言排序程序比较法怎么用”都比较关怀,咱们都想要知道一些“c语言排序程序比较法怎么用”的相关知识。那么小编也在网摘上搜集了一些有关“c语言排序程序比较法怎么用””的相关内容,希望各位老铁们能喜欢,兄弟们一起来学习一下吧!在常用的排序方法中,插入排序法也是很常见的。排序的原则就是抽出来一张牌。把它插入到前面合适的位置,使前面的排成为有序的比如大到小或者从小到大排的序列。我找到了两个c语言程序,我们看看他们有什么不一样的地方。先看第一个程序。
public static void sort(int[] arr) {
int n = arr.length;
for (int i = 1; i < n; ++i) {
int value = arr[i];
int j = 0;//插入的位置
for (j = i-1; j >= 0; j--) {
if (arr[j] > value) {
arr[j+1] = arr[j];//移动数据
} else {
break;
}
}
arr[j+1] = value; //插入数据 }
}
这是这个程序编程猫图形化程序的截图。
我用PPT画出了程序运行的例子,下面是一部分程序。
我们再看看另一个程序。
void InsertSort(int array[],int len){
int i,j;
//第一个for循环 遍历无序序列
for(i=1;i<len;i++){ //从数组的第二个元素开始依次遍历无序序列
int tem = array[i]; //临时保存将要排序的元素
//第二个for循环遍历有序序列
for(j=i-1;tem<=array[j]&&j>=0;j--){ //将待排序元素依次和有序序列中的元素比较
//待排序元素 小于 有序序列中当前元素时 将该元素后移
array[j+1] = array[j];
}
array[j+1] = tem; //待排序元素 大于 有序序列最后一个元素 直接将该元素插入到有序序列最后
}
程序我也用图形化编程,用scratch给他做的出来。
而这个程序的运营效果和上面那个是一样的。
比较这两个程序。可以发现程序的开头和结尾部分都是相同的,只是中间循环的,就是那个j循环部分是不一样的,其实我之所以不用一种C语言程序来编写图形化程序,就是因为在scratch里面找不到“退出循环”这个指令,所以我才找了第二个程序,他们都能达到同样的效果。
标签: #c语言排序程序比较法怎么用