本文主要是介绍快排小试之万数排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
早就听说过快速排序法(主要是叶大神整天叨叨快排),想到这么重要的算法还不会各种羞愧,然后就百度百科,自己摸索领悟这个算法,居然像模像样的把算法实现了个大概,然后,同时写了冒泡,打算让他们PK一下!!!
先把这个程序贴出来。
#include <stdio.h>
#include <stdlib.h>
#define MAX 10000
#define QP#ifdef QP
int qp(int *left,int *right)
{int *l,*r;int k;if (left >= right)return 0;l = left;r = right;k = *left;while (l < r){while (*r > k && r > l)r--;*l = *r;while (*l < k && l < r)l++;*r = *l;}*r = k;qp(left,r - 1);qp(l + 1,right);
}
#endifint main()
{freopen ("1.txt","r",stdin);int a[MAX];int i;for (i = 0; i < MAX; i++){scanf ("%d",&a[i]);}#ifdef QPqp(&a[0],&a[MAX - 1]);
#endif#ifndef QPint k,tmp;for (k = MAX; k > 0; k--)for (i = 1; i < k; i++){if (a[i - 1] > a[i]){tmp = a[i - 1];a[i - 1] = a[i];a[i] = tmp;}}#endiffor (i = 0; i < MAX; i++){printf ("%d ",a[i]);}return 0;
}
这篇关于快排小试之万数排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!