简单排序算法以及其复杂度
选择排序,时间复杂度 O(n^2), 下面要注意c语言传参入数组传入的是地址!,所以用sizeof求数组大小的时候,在自定义函数中求出来的sizeof(arr)就是指针的大小,为4;64位系统的话是8; 所以要在main函数中传入自定义方法给数组大小
#include <stdio.h>
#define arrSize(arr) sizeof(arr)/sizeof(arr[0])
void SelectSort(int arr[],int arrsize){
for(int i=0;i<arrsize;i++){
int k = i; //对比数组最小的下标,进行交换
for(int j=i;j<arrsize;j++){
if (arr[k]>arr[j]){
k = j;
}
}
if(k!=i){
int temp = arr[i];
arr[i]=arr[k];
arr[k]=temp;
}
}
}
int main(){
int arr[] = {12,312,41,35,344,12,5};
int arrsize = arrSize(arr); //c语言传参入数组传入的是地址!
SelectSort(arr,arrsize);
for(int i=0;i<arrsize;i++){
printf("%d ",arr[i]);
}
} 相关推荐
美丽的泡沫 2020-09-08
wonner 2020-06-17
算法改变人生 2020-06-03
kls00 2020-09-20
ldh 2020-06-09
lickylin 2020-05-27
aaJamesJones 2020-05-20
Cypress 2020-05-09
roseying 2020-02-23
waitwolf 2020-02-21
JavaWDB 2020-02-03
dbhllnr 2020-02-02
wuxiaosi0 2020-01-07
yuanlunxi 2019-12-05
ustbfym 2019-12-04
lixiaotao 2019-11-10
TTdreamloong 2019-10-30
whtqsq 2019-09-08
LinuxAndroidAI 2015-04-15