//数组排序,选择排序
//数组排序
int[] a = new int[]{7,6,5,6,7,9};
for(int j = 0;j < a.length;j++) {
int index = j;
int s = index;
for(int i = index + 1;i < a.length;i++) {
if (a[index] > a[i]) {
index = i; //得到最小的值为a[index]
}
}
int temp = a[index];
a[index] = a[s];
a[s] = temp; //把最小的值和原来的index值互换,最小的值换到剩下数据的最前面
}
System.out.println("排序后的数组为");
for(int i = 0;i < a.length;i++) {
System.out.print(a[i] + ",");
}
//数组排序,冒泡排序
int[] a = new int[]{7,6,5,6,7,9};
for(int b = 1;b < a.length - 1;b++) { //再换一次,重复a.length - 1次
for (int i = 0;i < a.length - 1 - i;i++){ //同理,-i是为了提高效率,少比几次
if(a[i] > a[i+1]) {
int temp = a[i];
a[i] = a[i+1];
a[i+1] = temp; //谁大,就把谁往后换
}
}
}
for(int i = 0;i < a.length;i++) {
System.out.print(a[i] + " ");
}
}
总排序
//声明 array为原数组,bucket 为新数组
//统计重复次数
for(int i = 0;i < array.length;i++){
//获取原数组元素
int element = array[i];
//原数组的元素 - min = 新数组下标
int index = element - min;
bucket[index]++;
}
for(int i = 0;i < bucket.length;i++){
if(bucket[i] != 0){
System.out.println((i+min) + ":" + bucket[i]);
}
}
需要注意每个循环嵌套使用时的增量要在哪个地方增,一定要用线性思路 顺着 流程一步步走