- 论坛徽章:
- 3
|
cjaizss比较靠谱,尤其是1W个数的堆排序,非常棒。
我唯一看不懂的就是你说的洗牌,能讲讲嘛,谢谢~ ...
dozec 发表于 2010-03-19 22:22 ![]()
- #include <stdlib.h>
- #include <stdio.h>
- #include <time.h>
- #include <assert.h>
- void myprint(int x)
- {
- assert(x>=0 && x<54);
- switch(x/13) {
- case 0:
- printf("Spades\t");
- break;
- case 1:
- printf("Hearts\t");
- break;
- case 2:
- printf("Clubs\t");
- break;
- case 3:
- printf("Diamond\t");
- break;
- default:
- if(x == 52)
- printf("Little joker\n");
- else if(x == 53)
- printf("Big joker\n");
- return;
- break;
- }
- switch(x%13) {
- case 0:
- printf("A\n");
- break;
- case 10:
- printf("J\n");
- break;
- case 11:
- printf("Q\n");
- break;
- case 12:
- printf("K\n");
- break;
- default:
- printf("%d\n",x%13);
- break;
- }
- }
- int main(void)
- {
- int a[54];
- int i,j,m,n,h;
- srand((unsigned)time(NULL));
- for(i=0;i<54;i++)
- a[i]=i;
- j=54*2+rand()%2;
- for(i=0;i<j;i++) {
- m=rand()%54;
- n=rand()%54;
- h=a[m];
- a[m] = a[n];
- a[n] = h;
- }
- for(i=0;i<54;i++)
- myprint(a[i]);
- return 0;
- }
复制代码 |
|