您的位置:首页 > 编程语言 > Java开发

三种简单的排序算法(java实现)

2017-10-20 11:49 225 查看
排序算法在学习语言之初都会提到,今天就来介绍三种简单的排序算法,分别是插入排序、冒泡排序和选择排序。我前面还写过一个关于快速排序的,有兴趣的可以去看看:http://blog.csdn.net/luqiren/article/details/77197746

1.插入排序

插入排序就是每次将一个数插入到已经排好序的数组里,插入完这个数以后,这个数组还是有序的,它的工作方式就像我们平时排序扑克牌一样,开始时,我们的左手为空并且桌子上的牌面朝下,然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置,为了找到一张牌的正确位置,我们将从右到左将它与已在手中的每张牌进行比较,拿在左手的牌总是有序的。

代码如下:

// 插入排序
public static void insertionSort(int[] a) {
for (int j = 1; j < a.length; j++) {
int key = a[j];
int i = j - 1;
while (i >= 0 && a[i] > key) {
a[i + 1] = a[i];
i = i - 1;
}
a[i + 1] = key;
}
}


2.冒泡排序

冒泡排序就是相邻的两个数字两两比较,然后把最大或者最小的数就像泡一样一点一点往上冒。

代码如下:

// 冒泡排序
public static void bubbleSort(int[] a) {
int temp = 0;
for (int i = 1; i < a.length; i++) {
for (int j = 0; j < a.length - i; j++) {
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1
4000
] = temp;
}
}
}
}


3.选择排序

选择排序就是每次比较找到最大或最小的那个数,然后将它排在相应的位置。

代码如下:

// 选择排序
public static void selectSort(int[] a) {
int temp = 0;
for (int i = 0; i < a.length - 1; i++) {
for (int j = i; j < a.length; j++) {
if (a[i] > a[j]) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: