目的,用最少的代码,干最大的事,欢迎在评论区晒出自己的最少代码量的排序程序- int temp = 0, max = 0; //定义两个中间变量
- int arr[] = { 0,5,3,9,1,2,4,6,7,8,978,45,34,22 }; //要排序的数组
- for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) //外循环次数要小于数组长度
- {
- for (int j = 0; j < (sizeof(arr) / sizeof(arr[0])) - i; j++) //
- {
- if (arr[j] >= max) //找到每次循环的中的最大数
- {
- max = arr[j]; //记录最大数
- temp = j; //记录产生最大数,位于数组的位置
- }
- }
- max = arr[sizeof(arr) / sizeof(arr[0]) - i - 1]; //将数组最后一个值,临时赋值给
- arr[sizeof(arr) / sizeof(arr[0]) - i - 1] = arr[temp]; // 让数组最后一个值,等于在内循环中找到的最大值
- arr[temp] = max; //在内循环中找到的最大值的位置等于 MAX
- max = 0; //让 max等于0,进入下一次的内循环
- }
- //打印值看一下了
复制代码
|
|