排序

来源:互联网 发布: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排序






原创粉丝点击