选择排序跟冒泡排序不同主要在于交换依据不同,即步骤3中的 if( ) 的不同
选择排序:选定一个元素与每个尚未排序的元素进行比较(即:if(arr[i] > arr[j])为交换依据)
1、定义变量
void (int arr[],int len){
int temp;
2、双重for循环
for(int i = 0; i < len; i++){
for(int j =i+1; j < len; j++){
3、根据要使用方法,选择思想,写交换依据
if(arr[i] > arr[j]){
4、交换变量
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
冒泡排序:思想为大数下沉,小数上浮,通过比较相邻两个元素大小实现(即:if(arr[j] > arr[j+1])作为交换依据)
1、定义变量
void (int arr[],int len){
int temp;
2、双重for循环
for(int i = 0; i < len; i++){
for(int j = 0; j < len-1-i; j++){
3、根据要使用方法,选择思想,写交换依据
if(arr[j] > arr[j+1]){
4、交换变量
temp = arr[j];
arr[j] = arr[j+1];
arr[j] = temp;
}
}
}
} |