//直接选择排序
public class Demo {
public static void main(String[] args) {
int a[] = {20,3,69,7,32};
int index;
for(int i = 0; i < a.length -1; i++){
index = 0;//默认每一轮第一个数最大
for(int j = 1; j < a.length - i; j++){
if(a[index] < a[j]) index = j;
}
int temp = a[a.length - i -1];//要交换的最后一数
a[a.length - i -1] = a[index];
a[index] = temp;
}
//输出:
for(int k : a){
System.out.print(k + " ");
}
}
}
/*
原数:
20,3,69,7,32
原理:将第一个元素与后面的元素比较,若第一个元素比后面任何一个数都要大。
就与最后一个元素交换位置。第二轮将剩下的数比较,重复以上操作、
第一轮:
20,3,32,7,69
第二轮:
20,3,7,32,69
第三轮:
7,3,20,32,69
第四轮:
3,7,20,32,69
输出:
3 7 20 32 69
*/
//冒泡排序
/*
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
*/
public class Demo1 {
public static void main(String[] args) {
int a[] = {63, 4, 24, 1, 3, 15};
for(int i = 0; i < a.length - 1; i++)
{
for(int j = 0; j < a.length - i - 1; j++)
{
if(a[j] > a[j+1])
{
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for(int k : a){
System.out.print(k + " ");
}
}
}
输出:
1 3 4 15 24 63