排序 78 23 89 2 15
冒泡排序
78 23 89 2 15
23 78 2 15 89 第一轮 最大 4次
23 2 15 78 89 第二轮 最大 次大 3次
2 15 23 78 89 第三轮 最大 次大 次次大 2次
2 15 23 78 89 第四轮 最大 次大 次次大 次次次大 最小 1次
int[] paixu = { 78, 23, 89, 2, 15 };
for (int lun = 1; lun <= paixu.length - 1; lun++) {
for (int ci = 1; ci <= paixu.length - lun; ci++) {
// 比较次数
if (paixu[ci - 1] > paixu[ci]) {
// 位置交换
int temp;
temp = paixu[ci];
paixu[ci] = paixu[ci - 1];
paixu[ci - 1] = temp;
}
}
}
for (int i = 0; i < paixu.length; i++) {
System.out.print(paixu[i] + " ");
}
}
选择排序
78 23 89 2 15
2 78 89 23 15 第一轮 4次 最小
2 15 89 78 23 第二轮 3次 最小 次小
2 15 23 89 78 第三轮 2次 最小 次小 次次小
2 15 23 78 89 第四轮 1次 最小 次小 次次小 次次次小 最大
i
nt[] paixu = { 78, 23, 89, 2, 15 };
for (int lun = 1; lun <= paixu.length - 1; lun++) {
for (int ci = lun; ci < paixu.length; ci++) {
// 比较次数
if (paixu[lun-1] > paixu[ci]) {
// 位置交换
int temp;
temp = paixu[ci];
paixu[ci] = paixu[lun-1];
paixu[lun-1] = temp;
}
}
}
for (int i = 0; i < paixu.length; i++) {
System.out.print(paixu[i] + " ");
插入排序
78 23 89 2 15
// 78 第一轮
// 23 78 第二轮 比较1次
// 23 78 89 第三轮 比较两次
// 2 23 78 89 第四轮 比较三次
// 2 15 23 78 89 第五轮 比较四次
int [] shulie = { 78, 23, 89, 2, 15 };
int [] b = new int[5];
b[0] = 78;
for(int lun = 1; lun< shulie.length; lun++)
{
b[lun] = shulie[lun];
for (int ci = lun; ci > 0; ci--) {
if(b[ci] < b[ci-1]){
int temp = b[ci-1];
b[ci-1] = b[ci];
b[ci] = temp;
}
}
}
for (int i = 0; i < b.length; i++) {
System.out.print(b[i] + " ");
}
}