1、快速排序(升序)
void quickSort(int sort[], int m, int n)
{
int k, t, i, j;
if (m < n)
{
i = m;
j = n + 1;
k = sort[m];
while (i < j)
{
for (i = i + 1; i < n; i++)
if (sort[i] >= k)
break;
for (j = j - 1; j > m; j--)
if (sort[j] <= k)
break;
if (i < j)
{
t = sort[i];
sort[i] = sort[j];
sort[j] = t;
}
}
t = sort[m];
sort[m] = sort[j];
sort[j] = t;
quickSort(sort, m, j - 1);
quickSort(sort, i, n);
}
}
2、选择排序法(升序)
void choose (int a[], int n) // a[]是指针、等价*p,n是数组a中待排序元素的数量
{
int i, j, index, temp;
for( i = 0; i < n-1; i++) //
{
index = i ;
for (j = i + 1; j < n; j++ )
if (a[j] < a[index]) index = j ; // 比较大小,记录最小元素的下标
temp = a[index] ; // 剩余元素的最小值跟最靠前的元素交换
a[index] = a[i] ;
a[i] = temp ;
}
}
3、冒泡排序法(升序)
void bubble (int a[] , int n) // a[]是指针、等价*p,n是数组a中待排序元素的数量
{
int i , j , temp ;
for(i=0; i<n-1; i++)
for(j=0; j<(n-1)-i; j++)
if(a[j] > a[j+1]) // 后面的元素比较大
{
temp = a[j];
a[j] = a[j+1];
a[j+1]= temp;
}
}