所在位置:主页 > 程序语言 > c语言编程 数组排序

c语言编程 数组排序

发布时间:2024-01-10 05:22来源:www.sf1369.com作者:宇宇

c语言编程 数组排序

#include#define MAX 10 int main() { int num[MAX+1]; int i, j; int temp; char mark=0; printf(请输入%d个整数: ,MAX); for(i=0; inum[j]) { temp=num[i]; num[i]=num[j]; num[j]=temp; } } } printf(排序后: ); for(i=0; itemp) { for(j=MAX; j>i; j--) { num[j]=num[j-1]; } num[i]=temp; mark=1; break; } } if(!mark) num[MAX]=temp; printf(插入后: ); for(i=0; i<=MAX; i++) { printf(%d ,num[i]); } putchar('\n'); return 0; }

c语言中的排序算法?

快速排序,冒泡排序,选择排序,归并排序,堆排序,桶排序。。。。。。

举例两个。。。选择排序:

for(int i = 1 ; i < n ; i++)

for(int j = i + 1 ; j <= n ; j++)

if(a[i] < a[j]) //要想反序就把小于号改成大于号

swap(a[i], a[j]);

快速排序,只能用函数了。。。:

void qsort(int a[], int p, int q)

{

int x = p - 1;

for(int i = p ; i < q ; i++)

if(a[i] > a[q]) //反序和选择排序一样

swap(a[++x], a[i]);

swap(a[++x], a[q]);

if(x - 1 > p)

qsort(a, p, x - 1);

if(x + 1 > q)

qsort(a, x + 1, q);

}