Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
int k = 0;
int temp = 0;
for (int i = 0; i < n; i++)
arr[i] = sc.nextInt();
for (int i = 0; i < arr.length - 1; i++) {// 做第i趟排序
k = i;
for (int j = k + 1; j < arr.length; j++) {// 选最小的记录
if (arr[j] < arr[k]) {
k = j; // 记下目前找到的最小值所在的位置
}
}
// 在内层循环结束,也就是找到本轮循环的最小的数以后,再进行交换
if (i != k) { // 交换a[i]和a[k]
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
for (int i = 0; i < n; i++)
System.out.print(arr[i] + " ");
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:648 |
数列排序 (C语言代码)浏览:836 |
矩阵乘法 (C++代码)浏览:1461 |
【数组的距离】 (C语言代码)浏览:740 |
【明明的随机数】 (C++代码)浏览:781 |
简单的a+b (C语言代码)浏览:573 |
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:591 |
【求[X,Y]内被除3余1并且被除5余3的整数的和】 (C语言代码)浏览:675 |
字符逆序 (C语言代码)浏览:646 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:676 |