从第二个元素开始,与之前的每一个元素比较,进行大小判定,如果比之前的某一个元素小,则交换位置(倒序排序)
/**
* 插入排序
*
* @param array 待排序的数组
* @param rules 排序规则 desc | asc
*/
public static void insertSort(int[] array, String rules) {
if (!(rules.length() == 0)) {
if (!(array.length == 1 || array.length == 0)) {
if ("asc".equals(rules)) {
//总遍历趟数为数组长度-1次
for (int i = 1; i <= array.length - 1; i++) {
//使当前元素与前一个元素两两比较,直到下标为0的那个元素
for (int j = i; j > 0; j--) {
if (array[j] < array[j - 1]) {
int temp = array[j];
array[j] = array[j - 1];
array[j - 1] = temp;
}
}
}
}
if ("desc".equals(rules)) {
for (int i = 1; i <= array.length - 1; i++) {
for (int j = i; j > 0; j--) {
if (array[j] > array[j - 1]) {
int temp = array[j];
array[j] = array[j - 1];
array[j - 1] = temp;
}
}
}
} else {
return;
}
} else {
return;
}
} else {
return;
}
}
算法 - 插入排序
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 插入排序对于少量元素的排序是很高效的,而且这个排序的手法在每个人生活中也是有的哦。你可能没有意识到,当你打牌的时候...
- 一、插入排序思想 从第二个元素开始依次与前边的元素做比较如果小于前边的元素就交换位置直到不小于为止。 步骤如下: ...