标题:为什么经过快速排序后数列还是无序的?
只看楼主
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:0 
,那就把Qsort()改成从小到大排序啊。然后在main()改动下就好了。超时是算法的问题了呵.
如果不讲究程序的话,就干脆直接用系统快速排序qsort()函数得了哦。

[ 本帖最后由 qq1023569223 于 2011-1-9 09:44 编辑 ]

   唯实惟新 至诚致志
2011-01-09 09:41
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:0 
用下面的排序方法好点:
void sort(int a[],int n) //n是数组元素的个数,从小到大排序
{
   int i,j,temp;
   for(i=0;i<n-1;i++)
       for(j=i+1;j<n;j++)
         if(a[i]>a[j])
           {
              temp=a[i];
              a[i]=a[j];
              a[j]=temp;
            }
}  //好像这种方法是我自创的,别的地方没有见过,不知道有名字不?

[ 本帖最后由 qq1023569223 于 2011-1-9 12:31 编辑 ]

   唯实惟新 至诚致志
2011-01-09 12:30
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
得分:0 
快排nlogn都超时,你这个n~2的算法肯定超时

欢迎来到我的博客:http://blog..cn/noisunyuhong
2011-01-09 13:27
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
得分:0 
提供一下插入排序的算法

欢迎来到我的博客:http://blog..cn/noisunyuhong
2011-01-09 13:28
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:0 
int cmp(const void *a,const void *b)
{
  return *(int*)a-*(int*)b;
}
qsort(fruit,10,sizeof(fruit[0]),cmp); //用qsort()搞定

   唯实惟新 至诚致志
2011-01-09 13:33
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
得分:0 
给个输入数据:
4030
9276 19064 5010 2625 9408 18285 9525 5272 13153 227 8734 15920 14844 8188 12316 3849 354 3879 5509 13726 379 12567 8614 11859 5454 16922 19954 9734 7397 2983 19473 10776 16868 6701 15170 11273 11725 14472 19558 11393 15873 16126 8319 17241 13284 13784 18362 19883 6883 15036 7461 2285 16984 3876 2663 10098 18968 7817 9647 7228 4879 4654 237 2129 18636 17270 243 15754 19557 9967 4819 7108 13848 4725 13528 17332 18795 847 2310 18261 9295 6415 14521 16397 1456 15003 18246 8217 12922 6084 2072 7783 4635 12561 6500 12560 13700 3863 13195 18400 12059 18057 19249 19631 10650 1382 8657 15164 13738 18682 18183 6590 13117 3138 19810 19176 16857 18769 6964 1713 12292 14112 16681 6152 7932 10539 4940 12953 3989 13638 17305 13105 6203 1094 2106 2739 2662 5519 18313 11273 8285 15654 15312 9035 6684 4393 6764 5296 4065 17055 5726 12644 14870 18353 13238 18650 3851 1488 17546 10758 14248 7812 6165 5326 16772 10491 17956 16772 19081 619 7414 7755 424 19194 18344 6328 1148 3430 9130 996 1768 808 16759 9629 11259 9323 11817 3157 9284 7367 1619 9987 12032 1665 3677 12080 16360 6725 16680 8631 1918 14229 1193 8271 15951 15793 7238 15761 10471 7561 10967 4076 6469 10033 7597 7853 4874 1600 12807 19113 8934 9200 9776 11212 7711 4541 4058 1951 15376 19334 13470 11780 5993 17957 5194 18043 8479 11005 17265 11188 11427 18160 6650 3898 12480 13801 11091 9060 11943 13823 16908 7521 15320 7071 9943 11571 14466 19847 11838 15082 2040 6920 8833 6247 18941 7475 5274 3854 19430 9448 19007 3027 3604 10664 862 1389 11928 10244 5402 1559 1506 8695 5135 10947 8770 129 5360 4761 8290 5049 1856 3179 2383 17144 8586 18622 1208 2518 7603 14053 18040 14799 18361 18259 9401 14572 8601 9035 14753 6557 14004 221 15418 12982 18812 13521 17427 6584 14579 1044 7989 11679 19268 9512 252 6735 3859 2054 6055 6880 18662 18548 1357 9801 16536 425 14032 13447 15177 10887 8706 18997 5684 6478 8342 17510 19577 932 17245 3709 11465 7244 15183 5331 19540 8912 17304 1480 11095 16260 19552 8422 5247 8813 14243 16258 10053 9630 5521 4914 16214 2558 19350 12885 14540 8327 7758 17171 9382 434 11992 7840 5195 6747 14301 5659 8450 7773 13010 16230 12050 7516 584 19065 14463 17882 9371 15037 10744 2543 14705 659 17645 11223 10063 2602 19986 325 13955 10916 10489 843 13247 14374 259 19502 12589 6383 2090 4051 4652 14900 13791 8661 848 14791 13730 352 7226 6067 5757 12393 15235 6431 15719 15620 2033 11593 6743 3593 38 1761 5475 12538 402 17772 16460 2020 102 15282 6863 7267 7325 10464 8699 19098 4853 15649 10781 12382 16107 8339 17549 8972 3573 2043 16995 6050 14262 12365 4850 5814 11921 16784 17226 7459 662 11557 8911 7374 9708 14200 19485 18501 13938 4963 14467 4790 9920 5747 13659 11695 12125 19908 3891 18636 18993 1369 18347 4374 3563 6489 9655 1233 8332 7124 8945 19110 9043 8315 8041 5202 17089 19044 6987 10397 15209 9496 14100 18264 6185 13255 10722 17575 19203 17891 17868 4302 3583 12347 6958 4018 4563 4597 1820 10660 812 7985 4144 2557 8376 19692 19588 1701 738 19780 6708 7162 19673 4227 15916 18610 16594 10409 10639 10871 9076 18466 7874 5449 2243 16975 327 9971 9701 6383 7319 1464 13714 18631 6650 14428 9303 16401 4606 19633 1963 441 6303 4564 13674 18382 13545 11480 16905 13504 2392 13990 1294 16876 17619 18122 2686 11316 6264 18782 9229 606 17439 7578 4203 2390 599 12914 10277 8213 19458 18322 4880 19119 3738 9937 1369 10251 5930 9087 15692 2900 15275 10906 3217 7425 6123 14923 15436 5495 2892 18564 11210 5083 8779 9498 2258 6652 10443 17769 17567 3964 15823 13653 16422 7970 7291 2173 4730 7184 17327 10210 14338 3017 18895 7153 10018 3478 7721 5022 13831 3698 18645 8993 1522 6699 3250 14282 10669 2870 945 10308 5251 11553 689 18076 6332 13212 15555 11728 3539 5594 17303 186 7039 2339 3173 9829 4684 17467 12057 14147 14020 4174 12270 1306 3852 1398 8076 15551 5039 6559 17180 13410 15223 17939 16360 602 7166 15126 17433 623 15391 10958 740 10919 806 13414 18339 7592 18012 881 4091 4592 14967 19236 12829 18303 19702 14187 15795 13488 13783 17296 4538 11515 17186 9145 450 6804 14293 8055 12140 2439 15694 17814 7828 872 15460 12849 14938 10666 8614 4276 4093 15211 18445 15259 19693 14348 8387 19135 4255 14839 18130 18722 8718 10628 8657 10258 5885 18820 5895 405 9207 2319 17667 9763 4075 15072 3636 1317 3827 10834 2912 17268 7647 1422 9042 12679 2548 15365 7033 19376 16618 12911 12120 18540 15734 18314 14966 5424 907 15346 2964 14645 8475 16971 12345 19470 298 5108 10779 3551 16176 1445 15143 8536 5650 15205 14159 5996 1391 18843 10578 7105 1358 7575 2607 8514 11911 3701 9256 17855 9067 11646 9306 7304 96 14662 8571 8659 12627 9134 15150 8347 3466 17407 7355 5823 4308 5102 4008 3772 6532 13832 11775 3577 12262 5265 9255 4472 3887 17481 12480 9823 9230 19542 11542 8977 4538 15226 13004 8120 2505 11862 7819 8565 17492 15193 9409 15931 5144 16218 11612 8631 18594 944 1187 19114 8428 18975 4542 6305 18614 11907 13407 2664 15573 7420 19100 4319 12579 10055 10114 17703 16688 4569 12673 1125 10360 12837 18978 4729 4991 10221 12811 17260 8512 12354 7190 13098 14269 8265 13760 17964 3355 794 8614 16775 17585 230 4227 12049 5311 2107 2183 6323 7243 5096 6406 7013 14491 9937 1548 17144 15995 5341 6254 410 17534 11802 15974 13973 19509 19254 15011 7466 5684 19522 2496 11618 70 19483 1976 4946 14137 5900 9308 11955 11550 17843 18529 11273 2617 7652 10417 17169 5615 16370 13403 2891 17219 14586 11541 19246 19183 4626 19211 6887 13491 5030 7255 5714 3142 3252 10218 9855 773 7516 9394 1638 12304 13776 11363 3015 7780 8705 6696 7859 16621 14664 18533 3579 9439 7570 15703 15489 13642 3626 10088 12368 14976 15824 2910 16651 2228 6174 9633 7681 17250 4599 18164 11473 17508 10421 42 15410 3340 17380 19309 11329 7096 8138 8731 15410 6381 9179 8088 18332 8547 2063 4182 4111 18652 11967 17290 1074 8067 19447 3715 13392 5907 6356 9149 6623 482 11867 12514 5693 2964 19525 4991 8759 10438 1275 13898 5384 10542 9401 6134 12471 14871 12307 10846 6382 13345 15090 6036 14696 6713 10833 18770 16020 19398 13555 13694 1315 19854 8766 9538 15159 635 2548 8290 390 15354 15116 6746 14563 14731 9785 5093 11662 8902 13290 12247 7508 8193 8382 12605 12288 19530 4655 3917 18657 691 18529 958 18837 19569 18333 4684 9168 10647 15423 1569 5528 5866 7266 2800 18072 2072 3446 18029 18727 12240 10510 3361 19880 12647 16598 8261 7687 3195 1799 11087 18459 3063 5171 17911 11540 8881 4345 4339 17141 7608 8683 4999 2538 1306 11892 396 5097 5999 15058 15819 5547 11794 16023 11980 19950 16469 6052 12086 13791 9697 19715 15023 6644 10106 8937 9335 838 2359 17140 7697 12561 6436 14426 6567 8849 16322 19725 686 18888 10259 859 7151 13067 19790 8451 18706 8232 9736 4624 10971 2558 6340 12413 13282 8494 15725 16847 17825 17207 19882 13622 6770 12976 2364 6312 2070 954 870 18057 7631 16757 8914 8649 18527 11294 13764 12977 16955 9306 2836 1755 19621 5014 15738 10468 6232 3351 4134 7482 3789 185 6644 17253 6378 19993 10937 19563 15121 14407 224 10743 8007 10078 6335 17791 14260 19299 16565 1345 12955 11810 6470 8447 554 11243 15817 1015 17055 4621 9863 10987 5449 18374 13150 18061 4155 19285 8010 10964 17142 3824 14965 18201 11400 4289 17208 19210 16478 5213 16355 11865 5747 8448 11650 17268 4097 10393 19819 7753 11743 19773 17754 9068 18835 9437 15218 12635 10550 585 9753 18861 7369 2884 990 17410 10211 18889 6530 15394 5119 6231 6608 9407 7183 15985 9702 2344 8394 10674 16294 10944 19105 10337 2960 14994 17793 100 13978 4128 8819 17690 12649 3164 12850 4330 9507 1913 19652 7441 9611 394 17934 8611 6111 5404 1930 15248 12265 19367 19400 19360 9109 7411 10757 11906 10947 13596 13982 6151 15873 2253 15037 8459 13492 5346 8447 19965 7038 1815 17748 17567 12074 19822 10489 7673 18962 17851 7464 11127 11289 5591 10881 2786 17439 10540 1131 14137 17494 1268 16871 12443 12658 3287 18086 14812 9388 8441 16832 656 15415 3784 5336 10957 9853 10853 16158 7798 14574 11307 14078 12576 19038 19832 4416 6349 15775 10280 7471 747 8693 5968 13743 12888 1402 10070 19664 2735 17758 17047 8491 16332 11786 11048 6067 3358 9197 2226 6131 2431 7670 16893 4872 12609 8086 2467 9399 14511 13920 13143 9833 9518 947 7214 9693 10462 4485 12004 14280 2272 16332 17322 1723 15985 8608 3402 6402 4584 6666 14241 9410 14081 18287 12291 15765 8303 11323 15439 3034 10794 16987 2201 11085 12292 972 16088 7629 17205 9599 5052 9255 7534 3157 16990 2639 7670 13652 17200 15617 18508 9131 18759 12809 14317 11774 1747 15482 800 1949 2249 10337 17784 5404 17093 16909 14975 5799 15233 8272 14216 9750 11742 4725 16691 16587 5335 5162 18502 10002 5359 5799 3067 13778 19208 953 3770 18794 16069 5565 15301 13477 7964 4138 17129 14911 14015 15798 17536 2767 18856 10153 11661 3256 1164 13635 11978 15294 13203 11027 14662 16054 17359 11847 10262 8105 10573 16283 12137 15319 12627 367 1072 19733 19213 5080 9539 16560 5729 19059 14005 9530 12727 9618 8764 13747 8968 1745 19690 18258 13005 9784 1390 5516 19244 11475 6154 9922 19407 19048 18173 2636 15356 7053 11441 14854 4187 1616 14787 16716 1559 810 12476 14055 14177 825 13814 10166 17370 7627 10187 4775 18714 18792 2991 7410 13617 5207 10868 7350 3821 7314 9700 7346 14750 5602 3797 13293 12638 10015 11708 17056 7392 17983 15105 14621 12099 15744 4163 6768 15146 2665 17891 14451 5862 3226 2832 6068 19646 16381 18590 18826 13491 16957 3599 1358 7867 8803 19593 9811 15884 14355 18201 14570 5675 10320 18108 19819 6951 4158 6223 3122 17635 11056 1284 7205 11548 16071 3342 1138 13062 11146 17571 13097 9655 1666 5816 1899 18329 2261 4345 19485 6801 6530 11226 1559 15421 379 11769 8553 10751 13662 15472 4108 6740 9809 2913 3270 14432 18126 6013 7577 6156 18465 10122 9223 5112 12942 11356 11503 16318 4390 7629 17702 19831 6242 6805 5640 12203 13527 429 10039 7082 9664 16448 19918 10924 8745 9388 3190 14735 18000 11398 15656 7784 10113 12617 16576 4226 99 4292 18020 18580 6418 3087 164 10979 1010 25 9738 8157 17946 2494 3805 11086 15383 2751 6058 5215 10500 11379 7822 14243 12119 19115 10959 3363 677 15494 14842 2923 10264 17754 14612 8422 12386 8420 2883 17808 6163 5034 12094 11981 4630 10433 19694 9471 11853 17045 3346 11202 10520 3621 18336 16302 4716 7842 14381 14874 7557 3253 14017 8689 8375 13937 19753 15717 19148 5394 2186 19448 4842 15041 6261 8938 7384 10776 17859 506 17919 11057 17912 17037 17064 4909 16212 5821 7842 15322 2132 858 10965 14454 14413 575 17185 4099 17230 16896 16368 19837 14710 16591 8004 2319 1102 851 2828 4117 8767 14021 10238 5574 1199 17434 11205 18104 3247 9274 1356 18358 5733 16421 13927 1724 6652 9194 17257 8560 16141 14955 6524 1639 17407 11488 14414 18205 795 6106 10393 5112 13195 11412 3281 10449 9962 13670 6825 10125 1546 14695 12933 12818 12016 13229 2280 11748 11668 16721 6967 16702 10898 19453 4908 4751 7538 7957 10653 13096 4830 19651 12321 2478 2236 5635 9331 4594 6270 13585 10622 11958 13529 11681 18057 13630 3128 19514 4674 5276 709 16894 2504 6969 1226 6509 19621 7190 2681 11375 11112 16452 8009 12999 13670 18996 17293 1209 18482 15986 17502 11579 2106 18648 1928 11392 27 14787 16527 68 12570 17121 15336 15013 17871 6870 12161 18808 11581 11033 723 8684 17996 16797 446 14222 2308 11511 10083 14215 18643 1663 16352 8618 13598 9304 9788 6549 9954 9341 4985 16245 245 16156 7421 7942 4881 12974 14052 5594 14514 2421 19864 8386 1323 1716 7570 7957 8916 10927 2634 12297 15533 7727 824 12229 10232 7098 465 11438 6762 9411 16584 5963 4785 5320 19149 4105 13160 10913 2561 2677 14961 11555 18619 548 18921 17857 10119 15403 6988 2212 7288 14662 12685 9340 14238 16501 9956 19264 17629 1906 17186 6175 14721 3703 6090 1610 3017 3489 10147 15382 18662 12425 12275 12701 15813 16799 16433 10930 4146 14321 12830 4399 6698 12079 11445 10729 5222 2085 3528 17097 5261 15362 15774 9875 18105 505 6873 16090 1836 17647 1094 10138 8641 3774 18622 4187 10583 10329 7313 5708 1016 19035 5560 10578 13831 6880 10971 5183 7721 16196 14520 15958 7657 10779 4888 9815 756 3977 12659 13884 8728 9689 9065 8002 4097 12217 18981 8402 2381 15891 12829 6027 7406 431 7110 7908 11965 12958 8231 15052 989 12611 19316 15266 9423 8691 14701 14362 12007 18284 11784 14179 7128 14292 14936 10855 1943 19813 11140 11800 10970 9802 2059 14784 5306 5957 2224 17605 14693 15771 18010 11751 9594 11669 7114 18507 15479 11195 3198 10946 16506 4157 15400 10224 10784 17694 17397 9643 4403 15184 5704 4895 16425 9939 11897 13941 12018 19625 18457 14951 5917 12336 12903 15754 3416 273 19923 13226 11056 1951 16178 6057 14210 18889 17468 9331 3755 17694 12948 4372 19012 13511 6087 2266 19135 15745 7047 4520 156 2009 6178 9289 19855 11236 3316 16602 17650 11885 12563 11033 1699 6182 7251 5250 389 16334 14763 12876 415 3655 15904 4113 18621 16541 8519 2552 19801 8222 26 6606 17648 10245 18569 4024 1034 12615 17471 12894 12799 6534 12671 7599 13265 10671 17842 13141 5629 6909 6872 16294 5449 16503 18391 6998 1390 12582 2038 8455 19434 9935 11163 19348 7735 18031 11623 16625 4296 8180 1400 12295 14682 10809 691 2657 11923 3767 17186 13411 15825 17596 16197 9086 13854 8726 10348 222 10794 16503 8500 6742 19362 5015 8600 955 8967 15629 4146 18623 14795 1198 18948 11531 14428 17861 9885 4 4155 15378 2331 8800 12184 11936 7948 14813 10939 4373 19526 41 15619 9740 2568 8240 1223 19151 8293 8702 15209 9862 17756 15610 7998 6503 11773 16389 8482 7405 6323 7499 16756 16977 18138 1112 11229 10035 10151 11100 12328 19058 11490 11777 9965 286 11721 7838 6966 19597 14008 18923 15640 4118 16886 7244 9682 10487 19345 1722 18599 5718 8889 17064 16833 1599 17281 11216 4793 8559 13643 9634 3956 19956 9616 9810 13244 2700 16250 4490 18856 15168 17324 7016 14748 18343 8778 7241 15940 11108 18947 11442 11845 5639 9281 4682 11805 3840 244 19039 22 739 12074 16164 2070 5805 15093 17587 10178 18103 9258 1210 19468 16244 17635 7442 12337 9051 3489 3382 13175 17884 5674 18527 602 6570 12008 10399 9403 19861 15328 3573 19374 16368 1907 10503 13230 6904 6922 7613 10806 14178 16659 5077 11690 14765 2144 13723 3520 9314 13888 17512 18104 11897 12434 5013 2562 14475 14391 18325 17674 7383 18642 2873 620 1799 2417 6525 14310 5117 1918 1460 10476 5170 17183 7230 18722 4235 5868 18446 18725 8768 15655 5535 17755 5792 9947 2004 732 1881 6565 16631 4972 5692 14109 14055 16843 19952 15690 12167 12493 13870 14707 9760 9849 11887 2369 2872 4079 19719 11638 13257 3691 13614 7284 17421 9470 3774 6746 9661 3428 7878 11477 17550 19968 15633 13467 13299 16441 10305 6627 9428 5277 18149 17727 12206 14900 1701 16571 11268 11585 17846 10095 8868 19472 6610 10082 17199 902 1612 9176 17211 4281 18117 4886 17380 11644 19618 16262 15846 3121 8901 2940 14371 473 14505 1231 17558 16916 8544 16954 15746 5379 16807 19694 15052 2431 7082 8166 2963 10017 6639 1394 2943 2234 4812 15363 16479 9294 1619 9856 16000 15903 8345 15154 17120 16204 11051 13282 3633 12495 12912 13497 3696 9912 16356 6702 643 4246 10916 8469 6868 5096 17748 5372 14208 1542 6742 4293 19268 2525 7169 9422 7128 9123 17805 16606 1862 903 7462 19756 17316 3549 1862 8989 6570 9947 17807 5198 13541 11907 10560 734 15134 4728 5396 891 7419 11773 9244 5873 14232 1257 3366 17946 1659 12426 3011 3447 6847 13319 14976 4343 14550 17303 9016 19034 19885 10558 4040 17075 704 7715 15026 17517 8041 17818 11602 5546 8053 7808 4221 7112 13916 15721 18870 6227 11086 10769 6255 14639 4386 2511 16394 8545 343 6292 14557 12047 3216 17136 19495 12037 8157 9287 9886 14186 19931 3581 9947 14747 10648 9840 10137 7831 14930 16462 3903 12875 5961 4425 6392 11956 854 7854 6078 11674 8764 8367 5230 9257 205 15380 10177 7601 985 9548 17279 8923 19211 11548 5575 1712 18804 3373 12019 666 17945 14337 10249 4313 15903 8977 18840 19987 16688 19030 9953 10858 2947 6688 14344 4703 18554 11303 3650 9097 3335 16739 15902 2722 8350 1559 15194 17475 5187 19226 1456 11063 7694 515 11256 14778 9589 15320 15578 6130 6388 16038 5507 1036 15086 9730 1768 5240 10029 11231 9043 9667 18418 14412 1016 19388 3877 3767 7071 10880 11521 13528 16601 17280 12975 6478 1834 6317 14763 9663 5149 599 18516 9189 1790 14958 6437 11279 13936 10531 10456 1803 17048 10266 8507 1431 4445 5541 16386 18640 1039 8585 8595 7724 2167 10391 6646 4021 18454 8792 18227 13528 12658 16418 15695 19103 19416 3190 7322 10435 3844 13057 19726 9968 19917 19660 14938 11974 14576 10611 10533 16956 8492 15062 16261 8568 9431 14278 5629 5250 19151 19876 5849 3747 19773 9425 14614 16718 10560 14106 17122 11610 11050 18106 1792 2991 11467 14430 18108 15531 16357 6842 5036 19806 12386 12591 3432 8128 16234 5640 10907 2586 3523 5054 2558 12467 4723 18269 6022 3280 18959 13898 4283 4526 1674 3782 4669 8447 7076 18967 17479 16904 11299 9290 12676 18594 7240 1270 8084 3785 6975 13985 7527 8759 12729 17626 12345 7147 2301 4413 14730 10348 19913 6565 6311 4221 8400 1001 434 14224 3684 5476 11572 16207 17477 15824 296 15037 19135 19004 17255 18231 12621 1634 4597 16814 9491 18701 18265 10556 3862 12132 19613 19797 286 13922 9776 11044 10473 13490 5228 8522 19796 13974 17973 8869 9526 7125 8801 1163 5717 1515 7047 19472 10698 3723 15290 109 18094 17204 2435 779 17323 8514 13609 3811 18503 15595 10310 10657 13701 17790 19252 19856 15477 12290 13330 5628 18645 6687 13161 19313 16191 2335 2623 826 5295 8198 16838 12313 4385 9869 6033 11212 7165 3457 3716 4886 4551 9023 12610 14034 10454 3255 6774 17050 12356 16067 13355 12536 12595 815 2406 2142 11326 12810 18210 922 7064 15819 10539 7407 15774 1246 9301 10563 14430 9675 10997 15835 19981 9458 10431 17461 19667 12049 16119 9243 13623 8759 12819 10960 15701 18629 19629 12615 3454 2096 17095 3704 13219 156 1751 19686 1233 3696 11544 2853 16723 2693 10576 19778 17905 9964 6593 2538 6834 19151 19678 5885 4032 1634 5558 17575 8847 12060 1986 4012 16469 17165 11631 18428 7537 7595 19896 3758 11296 17391 11129 7416 8211 848 11640 10151 3000 1417 12980 16175 4014 12351 13904 16740 9899 13771 4470 4372 9484 15851 695 19924 5827 2799 3230 19661 358 17332 18457 14540 18061 10317 5483 18897 19624 5289 17439 10703 11502 12506 10535 10598 9827 12252 19312 11884 19102 12062 1515 18652 11622 7558 1037 14254 18548 1594 2368 7283 8584 1376 14981 7266 15188 18273 11100 7256 18255 19980 5285 15491 11212 9732 9267 3343 9456 12270 480 1704 1083 11211 7717 3032 5835 7551 2356 11220 13213 13956 8585 6487 15678 4550 11077 17480 17898 4870 3534 17762 7959 11694 6552 8890 1493 17411 8244 17258 14647 18633 6047 16901 6844 13736 13161 15437 19259 19009 18056 5349 19966 18106 10481 7780 11668 4487 12416 1039 2976 1531 17400 11001 9153 10020 6677 5585 13270 17667 15600 507 3708 10381 8716 8488 8951 9966 6994 9107 15594 7928 15606 1483 514 10078 5720 6978 13143 11634 8732 14112 8770 7491 6379 2867 18818 7358 5161 10572 9031 10440 8529 6562 1510 19367 5253 7792 1534 18044 17428 12596 15099 3112 16538 14775 8125 3715 1028 5211 3255 9251 13822 13181 15189 9800 3211 4569 10495 18919 15564 19162 2826 13481 13288 14210 19486 10257 16485 6450 282 3924 11736 9767 14599 16182 16443 10693 7632 10677 12193 8924 11718 13409 5544 15040 3705 3318 19702 2628 14290 2729 5511 16977 268 2355 5197 7551 15630 529 7303 16413 2450 1373 16251 19798 7481 1567 4979 5015 15428 432 4067 9871 14809 12993 5820 16797 17353 10718 6717 18878 16870 19625 16690 19953 18532 10438 8639 15996 14503 474 6658 9944 6853 11970 16374 17178 3692 16511 5863 3832 19470 264 10563 5120 15368 9699 633 15871 731 2486 14187 10465 1465 13258 4849 14338 6356 8918 17058 14269 7223 13194 7566 19619 13869 5109 16563 11711 9744 1072 16876 3549 19276 15268 14657 17051 2796 18037 30 9994 19997 16920 11102 9846 7868 10088 19801 16690 4040 6798 12962 2407 11475 14605 7104 18325 5440 17992 343 8510 8711 18116 9861 10880 5929 8352 8388 13358 13058 5328 18120 17210 2874 132 5517 4794 12434 19392 5421 13883 3448 10891 7920 5759 11503 13435 6414 19265 5069 15638 10298 8002 230 13326 10725 2856 2073 236 12857 7045 8680 11706 13074 15876 18646 6045 4549 18392 8079 13257 19645 3102 8004 5824 2565 14986 18116 11224 10696 15950 17822 10876 8077 5928 498 15196 19434 6817 1913 9453 18227 16431 18752 10120 7127 4662 18161 16394 14377 9035 4285 6582 14473 11844 12696 14035 6592 6063 8685 2326 9218 2207 10327 4349 14389 13340 2277 15030 10021 418 11220 12347 3725 5146 18925 6327 6574 2550 13829 728 242 10432 7093 17080 15967 17920 4075 15777 18758 277 7142 13906 15305 12174 10775 4510 9008 16603 14890 6948 10578 11624 7324 3077 17639 2133 11415 18899 1774 8833 19621 16408 6449 11604 19109 5276 4251 9451 253 9112 6883 4226 3984 5942 6349 301 8920 7626 10770 17393 4225 7882 3261 18715 19120 13612 17320 1647 4998 19222 7150 3120 11073 8607 16365 16885 19500 14508 13513 4874 10906 9918 7849 9822 16268 11225 3802 1352 16078 17778 17571 12701 12730 17574 4289 10281 7064 13736 9182 3256 15013 11491 1184 5329 5281 10310 12418 5920 3996 10925 12001 12935 17271 11884 7600 14289 7614 15358 13178 10402 5126 6858 6374 14829 19415 18581 3941 5227 3175 11044 8700 11841 3362 12716 6423 15692 905 2317 16100 13669 4889 3489 2029 12695 12148 6511 1145 164 8207 16755 4057 2839 10507 14570 13200 11391 19855 16271 6562 12769 11035 10943 414 17593 18510 12718 9476 14754 18168 13238 7966 10402 11035 3976 19970 13526 19901 3113 12553 15296 14791 6646 10077 14365 8222 8430 13135 5315 6186 18826 10558 12435 5787 16654 17925 16020 15483 14133 1014 3371 18853 19496 7633 1702 7851 6973 16261 15113 16455 8816 14957 12846 10675 9071 8942 992 15839 3770 327 14840 7107 17240 8395 14068 14139 9209 3895 7937 15870 12406 15772 2714 6309 5327 13778 8466 17317 9879 15403 7454 9298 8559 10551 11289 5729 882 2417 19046 12486 3730 7987 13520 7878 5318 6606 17820 14360 7454 10052 19477 7825 15797 12545 14264 5444 2780 4145 6901 17975 12908 15956 10859 17479 5095 10592 14411 16387 11746 16328 5165 18853 19266 8387 10217 10325 19679 5783 14158 16280 8046 17183 2082 6060 5377 14193 19815 2731 11716 15537 8530 4931 19084 10546 15950 11612 18986 15401 11312 5644 4140 568 16300 17194 9145 12863 9111 12831 19754 583 3861 1294 5456 15140 12507 11853 15032 7636 1474 6205 19807 3821 186 9851 14245 5860 3663 13872 8610 14359 16403 3058 13355 9087 9714 11325 19945 11812 9690 10348 7788 19723 18020 2359 11965 2836 12819 13043 11458 3860 1662 5463 2540 3927 4014 966 7040 2646 5244 17996 10154 5912 9408 4750 7493 19901 2983 6624 6060 14696
输出:
485694875


[ 本帖最后由 sunyh1999 于 2011-1-9 13:47 编辑 ]

欢迎来到我的博客:http://blog..cn/noisunyuhong
2011-01-09 13:45
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>
FILE *fin,*fout;
void print(int fruit[],int n)
{
    int i;
    for(i=0;i<n;i++)
    printf("%d ",fruit[i]);
    printf("\n");
}
void Qsort(int fruit[],int startPos, int endPos)
{
int i,j,temp;
temp=fruit[startPos];
i=startPos; j=endPos;
while(i<j)
{
while(fruit[j]<=temp && i<j)--j;
fruit[i]=fruit[j];
while(fruit[i]>=temp && i<j)++i;
fruit[j]=fruit[i];
}
fruit[i]=temp;
if(i-1>startPos) Qsort(fruit,startPos,i-1);
if(endPos>i+1) Qsort(fruit,i+1,endPos);
}
int main()
{
    int fruit[10000]={0},n,i,ans=0,temp=0;
    fin=fopen("fruit.in","r");
    fout=fopen("fruit.out","w");
    fscanf(fin,"%d",&n);
    for(i=0;i<n;i++)
    fscanf(fin,"%d",&fruit[i]);
    Qsort(fruit,0,n-1);  //假如endpos是数组的最后一个的话,是n-1,用不着length了
    //print(fruit,n);  //加上看下排序结果,下同
    for(i=n-1;i>0;i--)  //因为排序的顺序反了,所以从后面开始算起
    {
    temp=fruit[i]+fruit[i-1];
    ans=ans+temp;
    fruit[i]=0;  //合并完归0好一点
    fruit[i-1]=temp;
    Qsort(fruit,0,n-1);  //n的话数组会越界的,上面一处相同
    }
    fprintf(fout,"%d",ans);
    system("pause");
    return 0;
}
给个最新代码:

欢迎来到我的博客:http://blog..cn/noisunyuhong
2011-01-09 13:49
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
得分:0 
以下是引用qq1023569223在2011-1-9 12:30:10的发言:

用下面的排序方法好点:
void sort(int a[],int n) //n是数组元素的个数,从小到大排序
{
   int i,j,temp;
   for(i=0;i
选择排序

小代码,大智慧
2011-01-09 13:51
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
得分:0 
对的,不然的话肯定超时的

欢迎来到我的博客:http://blog..cn/noisunyuhong
2011-01-09 13:52
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
得分:25 
我给你的参考程序
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define NUM 1000
#define MAX RAND_MAX

void ss();
void initA();
void initB();
void prinf();

struct S
{
    int val;
    int num;
}B[MAX+1];

int A[NUM];


int main()
{
    double m,n;
    srand(time(NULL));
    initA();
    initB();
     prinf();  //初看初始化
     putchar('\n');
    n=clock();
    ss();
    m=clock();
    prinf();
    printf("\n%lf\n",m-n);
    scanf("%ld",&m);
    return 0;
}

void ss()
{
    int i,j,k=0;
    for(i=0;i<NUM;i++)
    {   
       B[A[i]].val=A[i];
       B[A[i]].num=B[A[i]].num+1;
    }  
    for(i=0;i<MAX+1;i++)
    {
        for(j=0;j<B[i].num;j++)
        {
            A[k]=B[i].val;
            k++;
        }
    }
}

void initA()
{
    int i;
    for(i=0;i<NUM;i++)
        A[i]=rand()%101;
   
}

void initB()
{
    int i;
    for(i=0;i<MAX+1;i++)
        B[i].num=0;
}

void prinf()
{
    int i;
    for(i=0;i<NUM;i++)
        printf("%d ",A[i]);
}
这个是牺牲空间,换来速度


[ 本帖最后由 点线面 于 2011-1-9 14:40 编辑 ]

小代码,大智慧
2011-01-09 14:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-330801-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.094199 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved