对一个整型数组中的数字进行有序的排列

思路:假设有一组数9 8 7 6 5 4 3 2 1 0,将其从小到大的进行排列成为0 1 2 3 4 5 6 7 8 9。 

方法:(冒泡法)从数组左边第一个数开始比较,如果arr[i]>arr[i+1],那么就将两个值交换。

对一个整型数组中的数字进行有序的排列_第1张图片

那么上文便是解决方法,但我们假设的这个数组有一定的特殊性,那便是从大到小,此时的冒泡数是最多的,但我们平常排列的数组可能不需要如此多的冒泡数,那么我们是否可以对这个程序进行优化呢?让在冒泡的过程中检测数组是否已经整理好了顺序,这样便是程序更加简洁和高效。

对一个整型数组中的数字进行有序的排列_第2张图片

在循环的末尾加上了对flt的一次判断来判断是否,结束冒泡。

但是此段代码还存在一个小问题在定义一组数时我们加上了数组包含个数arr[ 10 ],所以系统会自动笔全字符数,便会出现以下现象

此时只需要调整数组大小或直接删去数组大小便可以解决

对一个整型数组中的数字进行有序的排列_第3张图片

对一个整型数组中的数字进行有序的排列_第4张图片

你可能感兴趣的:(c语言,visual,studio)