选择排序
void selectSort(int arr[],int length);
void swap(int arr[], int a ,int b);
void printLog(int arr[],int length);
int main(int argc, char * argv[]) {
int arr[10] = {1,2,5,6,4,3,9,8,7};
// bubbleSort(arr, 9);
selectSort(arr, 9);
printLog(arr, 9);
return 1;
}
void selectSort(int arr[],int length){
int minIndex = 0;
//大圈循环提供index,用于交换,index之前的都是有序区
for(int i=0;i<length-1;i++){
minIndex = i;//默认最小值就是要排序的index
//小循环用于找到index之后的无序区的里面的最小(或最大)
for(int j=i+1;j<length;j++){
//记录最小数的index值
if(arr[minIndex]>arr[j]){
minIndex = j;
}
}
swap(arr, i, minIndex);
}
}
void swap(int arr[], int a ,int b){
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
void printLog(int arr[],int length){
for(int i=0;i<length;i++){
printf("%d ",arr[i]);
}
}
#输出 1 2 3 4 5 6 7 8 9
网友评论