十大排序算法

一、冒泡排序

时间复杂度O(n^2)

void swap(int*arr,int i,int j){/*交换arr[i]与arr[j]的元素*/
	int tmp=arr[i];
	arr[i]=arr[j];
	arr[j]=tmp;
}

void bubble_sort(int* arr,int n){
	int i,j;
	for(i=0;i<n-1;i++){
	  for(j=n-1;j>i;j--){/*每次从末尾开始,不断与前一个元素进行比较,比前一个值小就交换位置*/
	    if(arr[j]<arr[j-1])
		  swap(arr,j-1,j);
		}
	}
}

二、选择排序

三、插入排序

四、希尔排序

五、堆排序

六、归并排序

七、快速排序

八、计数排序

九、基数排序

十、桶排序

posted @ 2021-08-24 16:50  ly探长  阅读(45)  评论(0)    收藏  举报