【简单记忆】
* 冒泡排序是从左边第一个数开始,向右,相邻的两个数比较交换位置
* 选择排序是从左边第一个数开始,单独和右边所有数比较
* 插入排序是从左边第二个数开始,单独和左边所有数比较
1.冒泡排序
//数组总长度 int length = array.length; //length -1 轮 for(int i = 1;i<length;i++){ //从第二个数开始交换 for(int focus = 1;focus < length;focus ++){ //交换实现左小右大 if(array[focus -1 ]>array[focus]){ int temp = array[focus]; array[focus] = array[focus - 1]; array[focus -1 ] = temp; } } }
2.选择排序
// 从最左边开始 for (int i = 0; i < array.length - 1; i++) { // 依次将i右边的数和min进行比较 for (int j = i + 1; j < array.length; j++) { if (array[j] < array[i]) { int temp = array[j]; array[j] = array[i]; array[i] = temp; } } }
3.插入排序
//从左边第二个数开始 for(int i = 1;i<array.length;i++){ //依次将i和左边的数比较,实现左边小右边大 for(int j = 0;j<i;j++){ if(array[i]<array[j]){ int temp = array[i]; array[i] = array[j]; array[j] = temp; } } }
原文:http://www.cnblogs.com/anni-qianqian/p/5225935.html