排序
来源:互联网 发布:Mac爱奇艺视频转换mp4 编辑:程序博客网 时间:2024/05/01 10:01
排序算法:
1.冒泡排序,2,选择排序,3,插入排序,4,shell排序,5快速排序
//交换void swap(int *a, int *b){ int t=*a; *a=*b; *b=t; }
1.冒泡排序(O(n2))
//冒泡排序void BubbleSort(int *array,int len){char isChanged = 1;int times = 0;int i = 0;for (times=1; times<len; times++)//len-1 times{isChanged = 0;for (i=0;i<len-times;i++){if (array[i]>array[i+1]){swap(&array[i],&array[i+1])isChanged = 1;}}if (!isChanged)break;}}
2.选择排序(O(n2))
void selectionSort(int data[], int count){int i, j, min;for (i = 0; i < count - 1; i++){/* find the minimum */min = i;for (j = i+1; j < count; j++){if (data[j] < data[min])min = j;swap(&data[i],&data[min]);}}}
3.插入排序(O(n2))
void InsertSort(int array[], int n){ int i,j,temp; for(i=1;i<n;i++) {temp = array[i];for(j=i; j>0 && temp < array[j-1] ; j--){array[j]=array[j-1];array[j-1]=temp;} }}
4.shell排序