排序算法大集锦_各种排序算法性能比较

对10000个1-10000的随机数进行排序,并显示出运行时间

数组是用以前用VC++&MatLab生成的,比较长。。。哈哈,感受一下计算机的速度!


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <limits.h>
#include <malloc.h>
#include <time.h>

int a[10000]={
5282,3309,3289,1645,3831,1386,3570,1037,3221,1678,
8134,2328,774,2069,436,2610,176,7632,727,3841,
1306,4582,2047,405,2688,155,2349,706,2081,447,
1187,8643,1738,8384,1479,8034,6401,8685,6142,337,
7782,77,7433,5881,7175,5530,7725,5281,8465,6832,
4489,6572,4139,6224,4770,6865,4421,2877,5161,3538,
5723,3279,5463,3828,1376,3560,1027,4211,2667,4851,
2318,775,2068,425,2618,166,3351,1717,8362,1457,
8013,8664,1749,8314,6762,56,7413,607,7153,347,
7703,5251,4141,7234,5782,3256,5441,3807,5182,3549,
5733,3289,1645,4831,2386,4571,2047,504,2688,145,
2339,786,3079,1436,8082,1177,8633,1727,8383,1478,
8035,6481,676,7131,326,5888,7164,5530,8724,6271,
8465,6821,4478,6563,4128,6214,4768,7853,5420,3877,
5161,5712,3267,5453,3818,2318,864,2057,515,3608,
1256,1806,8362,1547,8013,1208,8653,2747,305,7752,
46,7401,686,7142,336,7783,5251,8443,6801,8184,
4489,7573,5141,7223,5780,3247,5431,3888,5171,3538,
6722,4279,2635,2386,4570,2037,5221,2678,234,8632,
2827,8373,2568,24,2218,665,7121,316,7762,1056,
7423,1607,8163,6520,8713,6260,8454,6811,106,7553,
4117,7202,5768,7853,5410,7504,5151,3517,3688,1245,
3339,1806,4071,2545,3,2287,644,2838,385,2578,
35,7481,1675,8142,1337,8782,1077,8433,6080,8175,
6630,724,7271,466,7822,5488,7572,5138,7224,5770,
8864,6420,4877,6161,4528,6712,4278,6453,4828,2376,
5560,3027,5210,3667,5851,3318,1525,4618,2266,4351,
2817,362,2557,14,2207,655,3848,1305,8761,1056,
8412,1607,8152,1346,8703,6351,445,7001,185,7651,
736,7302,5758,7042,5408,8683,6141,8334,4246,6431,
4807,6172,4549,7732,5289,3645,5831,3386,5571,3037,
5221,3678,1245,4339,2884,4079,2535,83,2277,633,
2827,374,3568,1024,8481,1675,8131,1326,8772,1067,
8423,6078,164,7620,715,7371,455,7021,5478,7663,
5128,8313,6768,4267,7453,5818,3365,5558,3016,5201,
3657,5842,3306,1864,4057,2515,4608,2256,4349,2806,
353,4,3286,1654,3837,1305,8751,1046,8401,1685,
8142,2336,784,7349,434,7001,185,7641,735,7381,
5747,8032,6489,8673,6139,8323,6770,4247,6431,4888,
7171,5538,7722,5279,3735,5828,3476,5560,3137,6211,
4778,2233,4428,2874,4068,2526,4610,2266,623,3817,
1373,3568,1024,3217,1665,8121,1316,8761,2056,413,
2607,154,7620,714,7360,455,7012,1106,8652,6117,
8302,6758,8043,6410,8683,6151,4516,7702,5257,7442,
5807,7182,5548,3106,5281,3755,6841,4406,6581,4147,
2504,4788,2245,4439,2885,5171,3535,1003,3286,1644,
3838,1384,6138,8324,6770,65,7420,5877,7161,5528,
7712,5267,8452,5818,3476,6560,4126,6210,4767,6851,
4417,2865,4157,2515,5708,3266,5441,3817,1363,3556,
1014,4207,1655,4847,2305,852,2046,413,2686,153,
3346,1704,7350,1445,8001,1185,8641,1736,8382,6757,
43,6408,684,7141,335,7780,5246,7431,5887,8172,
6538,8722,6289,4745,6830,4486,6570,4137,7221,5778,
3234,5429,3884,5168,3535,5720,3277,1633,4827,2374,
4568,2024,571,2664,232,2326,873,3067,1523,8078,
1264,8620,1815,8361,1555,8011,6477,663,7128,313,
7768,54,7410,5867,7151,5516,8701,6267,8442,6818,
4465,6558,4116,6201,4756,7842,5406,3854,5147,3515,
5708,3255,5449,3805,1353,4546,2004,4286,2644,4837,
2385,852,2045,502,3685,1243,3336,1884,8348,1534,
8080,1275,8641,2824,382,7747,33,7489,674,7138,
324,7770,5236,8421,6886,8171,6538,8722,6278,4735,
6828,4476,7560,5127,7211,5767,3233,5427,3874,5168,
3526,6718,4266,2623,4817,2363,4557,2024,4207,2665,
222,3316,1862,3056,1513,3607,1254,8618,1804,8360,
2555,12,2206,652,7117,303,7758,44,7408,1684,
8141,6616,8701,8441,6007,8182,6548,4105,7289,5745,
7830,5406,7571,5147,3504,5788,3245,6439,4885,6170,
4535,2083,4276,2644,4828,2384,5578,3034,1582,3675,
1232,3326,1873,3067,1524,8080,2273,631,2824,372,
2566,22,7477,663,7128,1313,8760,1054,8420,6077,
8161,6627,8712,6367,452,7018,5466,7650,5126,7300,
5766,7052,5417,3864,6157,4515,6708,4256,6440,4806,
2363,4556,2014,5207,3654,5847,3305,1851,3046,1503,
3685,1243,4336,2804,351,2545,1,2285,642,2835,
383,7747,1033,8408,1674,8140,1335,8780,6346,8431,
6088,173,7637,723,7378,5745,7030,5486,7670,5137,
8321,6778,4234,6428,4874,6168,4525,6710,4277,2633,
5827,3373,5568,3024,5217,3664,1222,3316,1873,4057,
2522,79,2264,621,2815,361,2555,12,7467,1652,
8128,1313,8768,1054,8410,6066,8150,6616,701,7357,
443,7008,5465,7658,5116,7301,5756,8040,6406,4854,
6147,4505,6788,4255,7439,4805,2453,5546,3103,5286,
3744,5837,3485,1842,3134,1502,4785,2243,4336,2883,
348,2534,81,3274,632,3824,1372,8747,1033,8488,
1673,8138,2323,771,6336,422,7077,162,7638,713,
7378,5734,8028,5475,8660,6127,8311,6767,4223,6417,
4874,7158,5524,7718,5266,3722,5817,3463,5556,3114,
6207,4755,2222,4415,2861,4156,2512,4706,2684,141,
7606,782,7356,432,7007,1183,8648,6105,8389,6745,
8030,6486,8671,6136,4504,7788,5244,7178,5535,3183,
5276,3734,6827,4473,6568,4134,2582,4775,2232,4426,
2873,5167,3523,1079,3263,1631,3814,1372,3566,1022,
8577,2662,129,2313,769,2054,411,7077,162,7627,
1712,8367,1452,8018,6465,8650,6116,6546,4114,6287,
4754,6847,4405,2851,4145,2502,5785,1642,4835,2383,
848,2033,589,2674,231,2323,881,7346,1532,8087,
1273,8638,1823,8378,6735,8020,6485,661,7136,322,
7778,5233,7427,5874,7168,5525,8710,6265,4732,6827,
4473,6567,4124,6217,4764,2222,5416,3862,5156,3512,
5706,3264,1621,3815,1361,4555,2012,568,2652,218,
2302,869,2044,7065,1251,8616,1801,8357,1543,8007,
6455,8648,6115,301,7756,41,7406,5854,7147,5505,
7787,5244,8439,6885,4453,6546,4103,6286,4744,6837,
4484,2841,5134,3582,5775,3243,5426,3883,1348,3533,
1081,4274,2631,4824,2372,838,2023,589,2663,239,
3323,1871,8336,1521,8077,1262,8627,1813,8368,6734,
29,7475,661,7127,311,7766,5323,7417,5064,8158,
6614,8708,6366,4722,6816,4462,6556,4114,7207,5755,
3212,5405,3861,5145,3512,5706,3253,1619,4804,2351,
4545,2001,4285,2641,218,2303,859,3044,1509,3684,
1240,8606,1882,8346,1532,8087,2273,649,7104,389,
7745,31,7486,672,7136,5683,8777,6344,8428,6084,
8178,6635,4183,6377,4733,7027,5473,7667,5124,3582,
5775,3232,6426,3873,6167,4523,2079,4263,2621,4815,
2362,5556,2022,578,3662,1229,3313,1869,3054,1511,
8066,2252,8626,2801,368,2552,19,7465,659,7115,
1301,8756,1041,8407,6064,8157,6615,8708,6355,449,
7005,4453,7646,5104,7387,5744,7037,5405,3851,6145,
4501,6785,4243,6436,4884,2348,4534,3033,1588,3674,
1231,4323,2871,347,2532,88,2272,638,2823,379,
7735,1021,8475,1661,8126,1312,8777,6333,8427,6074,
169,7625,711,7365,5722,7016,5473,6416,4862,6156,
4512,6706,4253,2721,5804,3461,5555,3111,5206,3752,
1218,3402,1859,4044,2501,66,2250,617,2801,358,
2543,8,7454,1649,8105,1380,6605,788,7344,438,
7085,5103,7376,5744,6425,4873,2448,5533,3181,5274,
3731,5824,3472,1837,3123,1578,4762,1368,8724,1019,
8475,1651,8126,1311,8766,6323,418,7064,158,7614,
709,7356,5722,7016,5462,8656,6113,8307,6755,4210,
6405,4851,6145,4502,7786,5252,3719,5804,3450,5545,
3100,5284,3741,1208,4483,2859,4133,2508,4784,2240,
607,2881,347,3532,1088,3273,1638,8204,1389,8845,
1031,8486,2672,137,7683,778,7334,429,7074,169,
7635,5183,8376,6732,8027,6473,8667,6124,4572,6764,
4232,7415,5872,7167,5522,3179,5263,3721,5814,3462,
6555,4111,2578,4762,2229,4413,2869,4154,2511,67,
3251,1617,3801,1358,3543,1019,8564,1659,8215,2300,
857,2041,507,7054,248,7615,889,7354,1549,8005,
6452,8646,6104,8386,6744,8037,6484,4851,7145,5501,
7785,5243,7436,5884,3448,5533,3181,6274,4731,6825,
4482,2847,4133,2588,4773,2239,5423,3871,1337,3522,
1087,3262,1637,3822,1379,8835,2029,576,2661,227,
2312,868,7333,518,7074,1269,8625,1819,8366,6722,
8016,6463,8657,6113,308,7764,5221,7416,5861,7155,
5512,8706,5253,3711,6803,4450,6545,4111,6205,4751,
2218,5402,2859,5144,3500,5784,3240,1617,3881,1358,
4541,1008,8554,2649,206,2380,846,2031,587,7054,
1248,7603,1888,8344,1538,8085,6443,8635,6183,377,
7733,28,7483,5040,7134,5682,7775,5333,8425,6072,
3439,6623,4181,6263,4731,6824,4472,2837,5122,3577,
5762,3229,5413,3861,1336,3521,1077,4262,2627,4812,
2368,825,2019,7462,647,7113,308,7755,5310,7404,
5051,8145,6602,8786,6342,4718,6004,4450,6644,4100,
7384,5741,3208,5483,3848,5133,3588,5773,3240,1607,
4880,2347,4532,2088,4273,2637,285,2378,846,3021,
1587,3671,1237,8683,1877,8334,1529,8074,2269,626,
7182,377,7732,27,7473,668,7124,5671,8764,6321,
8415,6062,8156,6622,6363,4721,7014,5461,7654,5111,
3568,5752,3229,5402,3869,6153,4511,2067,4251,2617,
4801,2358,4543,2009,564,3649,1216,3300,1857,3041,
1507,8054,1248,8604,2889,345,2538,6,7452,647,
7103,387,7743,1038,8484,6041,8134,6681,8775,6343,
8436,6083,4448,7633,5180,7374,5731,7024,5472,3847,
5123,3588,6773,4239,6423,4871,2437,4522,2176,4262,
2727,5812,3478,1835,3129,1576,3761,1226,3312,1867,
8323,2518,65,2259,626,2819,366,7722,17,7463,
1657,8113,1308,8754,6321,8405,6061,8155,6612,707,
7353,5719,7004,5450,7645,5101,7385,5751,3218,6402,
4859,6144,4508,6784,4240,2707,4881,2448,5532,3108,
5283,3748,1206,3488,1846,3130,1587,8043,2238,604,
2877,345,2538,86,7441,636,7182,1377,8733,1027,
8473,6040,8134,6682,8775,6332,426,7072,5438,7623,
5171,7363,5721,7014,5472,3837,4577,6762,4229,6413,
4861,2425,4511,2177,5251,3727,5811,3468,1825,3119,
1565,3751,1216,4400,2857,324,2518,64,2258,615,
2809,356,7812,1006,8552,1647,8203,1388,8753,6310,
8404,6051,146,7602,786,7342,5708,5100,8384,6741,
4208,6482,4847,6133,4588,7773,4230,2706,5880,3447,
5532,3187,5273,3737,1285,4478,1836,4121,2576,4761,
2236,684,2877,335,3527,75,3269,1626,8272,1366,
8832,1017,8573,2668,225,6671,865,7321,516,7062,
257,7612,5179,8353,6721,8014,6460,8654,6111,4568,
6752,4218,7402,5859,7143,5510,3167,5250,3717,5801,
3458,6542,4109,2554,4748,2206,4480,2857,4140,2507,
54,3248,1605,3888,1345,3538,1086,8552,1637,8202,
2387,844,2038,585,876,7333,1527,8082,6448,8633,
6180,8374,6731,8024,6472,4837,7122,5578,7762,5239,
7423,5871,3436,5522,3176,6261,4727,6812,4468,2835,
4119,2575,4761,2226,5411,3866,1324,3518,1065,3259,
1615,3809,1366,8822,2017,564,2657,214,2308,855,
7311,505,7051,1246,8612,1807,8004,6450,8644,6101,
385,7741,5318,7482,5058,7144,5608,7783,5340,3707,
6881,4447,6532,4187,6273,4748,2206,4488,2846,5130,
3587,5772,3237,1684,3877,1335,3528,1086,8541,2636,
283,834,2026,574,7030,225,7682,1866,8331,1526,
8072,6438,8623,6179,8363,6721,15,7461,5037,7121,
5677,7762,5329,7413,5069,3425,6610,4166,4717,6001,
4468,2825,4119,2565,5758,3215,5400,3857,1314,3508,
1064,3248,1615,4809,2356,812,2006,553,2647,204,
2388,843,7310,1585,8051,1246,8601,1886,8343,6708,
8083,6440,634,7180,375,7741,5307,7482,5047,7132,
5688,8773,6330,4786,6070,4437,6622,4187,6372,4737,
2285,5478,3836,5121,3576,5761,3226,1784,3867,1334,
4527,2075,4269,2626,273,2365,823,2017,564,3658,
1224,8670,1865,8321,1515,8062,1256,8612,6169,354,
7710,5,7460,654,7111,5668,7752,5318,8402,6058,
8143,6600,4166,6340,4717,6001,4458,7642,5108,3554,
5748,3206,5480,3846,5130,3507,1153,4248,2705,4887,
2445,4538,2186,543,2737,282,3477,1844,3137,1585,
8040,1235,8681,8332,2527,73,7448,624,7180,375,
7731,1025,7471,5037,8122,6677,8762,6328,8413,6071,
4436,6621,4176,7361,5727,7012,5468,3825,5119,3565,
2165,4259,2714,5809,3455,823,3107,1563,3757,1214,
3408,1854,8310,2504,8051,2246,603,2887,353,7718,
4,7450,1385,8741,6308,8482,6048,8132,6608,774,
7340,5707,7081,5447,5187,7373,5738,3205,6478,4846,
6130,4587,6772,4236,2784,4877,2435,5528,3175,5269,
3726,1282,3476,1834,3126,1574,8030,2225,671,2865,
322,2515,73,7538,624,7279,1364,8820,1015,8561,
6026,8111,6677,8752,6329,414,7069,5425,7610,5166,
7351,5716,7001,5458,3824,6109,4565,6758,4215,6400,
4857,2414,4507,2153,5248,3704,5888,3456,1812,3106,
1553,3747,1203,4488,2843,301,2585,42,2236,602,
2886,343,7808,1084,8548,1634,8280,1375,8831,6307,
8572,6047,233,7688,874,7338,5786,7071,5436,7622,
5177,8361,6737,4285,6478,4836,6121,4575,6761,4226,
2774,5867,3424,5518,3175,5269,3725,1272,3465,1823,
4116,2564,4757,2214,671,2854,322,2515,62,3255,
1613,8269,1354,8810,1004,8550,1644,8211,6668,853,
7318,503,7600,5156,7340,5707,8081,6458,8642,4736,
2282,4476,2834,4127,2585,41,2235,682,3876,1333,
3525,1073,8538,1624,8270,1365,8831,863,7328,514,
7061,5435,8610,6176,8361,6727,8012,6467,4024,6119,
4665,7750,5316,7400,5066,3424,5618,3164,5258,3714,
6808,4455,2813,4107,2553,4747,2214,4488,2854,311,
3504,1052,201,2385,842,7307,583,7048,233,7688,
1874,8330,6707,8080,6446,8631,6187,8372,6738,4385,
7478,5036,7120,5686,7761,5336,3784,5077,3435,6628,
4175,6369,4725,2273,4466,2833,4126,2574,5767,3225,
1671,3865,1322,3515,1063,8538,1613,8278,2364,820,
2015,562,7026,212,7667,853,7319,1503,8068,6425,
8610,6166,8351,6716,2,6458,4014,7108,5654,7748,
5315,7400,5057,3413,5607,3153,6347,4704,6088,4444,
2812,4186,2553,5747,2203,5487,3843,1401,3585,1142,
3235,1682,4876,2342,8808,2084,549,2634,281,2375,
832,7386,1571,8037,1223,8688,1874,8338,6785,8071,
6436,621,7176,362,7727,5385,7468,5035,7129,5675,
8760,6326,4774,6066,4424,6618,4165,6359,4725,2272,
5465,3823,5116,3564,5758,3214,1761,3854,1412,4505,

5282,3657,5832,3309,6583,4041,2247,4331,2888,4072,
2538,5622,3289,1645,3831,1386,3570,1037,3221,1678,
8134,2328,774,2069,436,2610,176,7632,727,3841,
1306,4582,2047,405,2688,155,2349,706,2081,447,
1187,8643,1738,8384,1479,8034,6401,8685,6142,337,
7782,77,7433,5881,7175,5530,7725,5281,8465,6832,
4489,6572,4139,6224,4770,6865,4421,2877,5161,3538,
5723,3279,5463,3828,1376,3560,1027,4211,2667,4851,
2318,775,2068,425,2618,166,3351,1717,8362,1457,
8013,1108,8664,1749,8314,6762,56,7413,607,7153,
347,7703,5251,4141,7234,5782,3256,5441,3807,5182,
3549,5733,3289,1645,4831,2386,4571,2047,504,2688,
145,2339,8082,1177,8633,1727,8383,1478,8035,6481,
676,7131,326,7772,67,7423,5888,7164,5530,8724,
6271,8465,6821,4478,6563,4128,6214,4768,7853,5420,
3877,5161,3528,5712,3267,5453,3818,1366,4558,2016,
4201,2667,4842,2318,864,2057,515,3608,1256,3349,
1806,8362,1547,8013,1208,8653,2747,305,7752,46,
7401,686,7142,336,7783,5251,8443,6801,8184,6541,
8735,6281,4747,6832,3538,6722,4279,2635,4820,3328,
1874,3069,1526,3610,1266,8632,2827,8373,2568,24,
2218,665,7121,316,7762,1056,7423,1607,8163,6520,
8713,6260,8454,6811,106,7553,4117,7202,5768,7853,
5410,7504,5151,3517,6702,4257,6442,4807,6182,4548,
2016,4201,2656,5841,3306,5582,3047,1505,3688,1245,
3339,1806,4071,2545,3,2287,644,2838,385,2578,
35,7481,1675,8142,1337,8782,1077,8433,6080,8175,
6630,724,7271,466,7822,5488,7572,5138,7224,5770,
8864,6420,4877,6161,4528,6712,4278,6453,4828,2376,
5560,3027,5210,3667,5851,3318,1865,3058,1525,4618,
2266,4351,2817,362,2557,14,2207,655,3848,1305,
8761,1056,8412,1607,8152,8703,6351,445,7001,185,
7651,7042,5408,8683,6141,8334,6782,4246,6431,4807,
6172,4549,7732,5289,3645,5831,3386,5571,3037,5221,
3678,1245,4339,2884,4079,2535,83,2277,633,2827,
374,3568,1024,8481,1675,8131,1326,8772,1067,8423,
6078,164,7620,715,7371,455,7021,5478,7663,5128,
8313,6768,8053,6410,4877,6151,4527,6712,4267,7453,
5818,3365,5558,3016,5201,3657,5842,3306,1864,4057,
2515,4608,2256,4349,2806,353,2546,4,3286,1654,
3837,1305,8751,1046,8401,1685,8142,2336,784,7349,
434,7001,185,7641,735,7381,5747,8032,6489,8673,
6139,8323,6770,4247,6431,4888,7171,5538,7722,5279,
3735,5828,3476,5560,3137,6211,4778,2233,4428,2874,
4068,2526,4610,2266,623,3817,1373,3568,1024,3217,
1665,8121,1316,8761,2056,413,2607,154,7620,714,
7360,455,7012,1106,8652,6117,8302,6758,8043,6410,
8683,6151,4516,7702,5257,7442,5807,7182,5548,3106,
5281,3755,6841,4406,6581,4147,2504,4788,2245,4439,
2885,5171,3535,1003,3286,1644,3838,1384,3578,1034,
8481,2675,133,2326,783,2067,434,7080,175,7630,
1724,8371,1466,8022,6478,8662,6138,8324,6770,65,
7420,5877,7161,5528,7712,5267,8452,5818,3476,6560,
4126,6210,4767,6851,4417,2865,4157,2515,5708,3266,
5441,3817,1363,3556,1014,4207,1655,4847,413,2686,
153,3346,1704,7350,1445,8001,1185,8641,1736,8382,
6757,43,6408,684,7141,335,7780,5246,7431,5887,
8172,6538,8722,6289,4745,6830,4486,6570,4137,7221,
5778,3234,5429,3884,5168,3535,5720,3277,1633,4827,
2374,4568,2024,571,2664,232,2326,873,3067,1523,
8078,1264,8620,1815,8361,1555,8011,6477,663,7128,
313,7768,54,7410,5867,7151,5516,8701,6267,8442,
6818,4465,6558,4116,6201,4756,7842,5406,3854,5147,
3515,5708,3255,5449,3805,1353,4546,2004,4286,2644,
4837,2385,852,2045,502,3685,1243,3336,1884,8348,
1534,8080,1275,8641,2824,382,7747,33,7489,674,
7138,324,7770,5236,8421,6886,8171,6538,8722,6278,
4735,6828,4476,7560,5127,7211,5767,3233,5427,3874,
5168,3526,6718,4266,2623,4817,2363,2024,4207,2665,
222,3316,1862,3056,1513,3607,1254,8618,1804,8360,
2555,12,2206,652,7117,303,7758,44,7408,1684,
8141,6616,8701,6357,8441,6007,8182,6548,4105,7289,
5745,7830,5406,7571,5147,3504,5788,6170,4535,2083,
4276,2644,4828,2384,5578,3034,1582,3675,1232,3326,
1873,3067,1524,8080,2273,631,2824,372,2566,22,
7477,663,7128,1313,8760,1054,8420,6077,8161,6627,
8712,6367,452,7018,5466,7650,5126,7300,5766,7052,
5417,3864,6157,4515,6708,4256,6440,4806,2363,4556,
2014,5207,3654,5847,3305,1851,3046,1503,3685,1243,
4336,2804,351,2545,1,2285,642,2835,383,7747,
1033,8408,1674,8140,1335,8780,6346,8431,6088,173,
7637,723,7378,5745,7030,5486,7670,5137,8321,6778,
4234,6428,4874,6168,4525,6710,4277,2633,5827,3373,
5568,3024,5217,3664,1222,3316,1873,4057,2522,79,
2264,621,2815,361,2555,12,7467,1652,8128,1313,
8768,1054,8410,6066,8150,6616,701,7357,443,7008,
5465,7658,5116,7301,5756,8040,6406,4854,6147,4505,
6788,4255,7439,4805,2453,5546,3103,5286,3744,5837,
1842,3134,1502,4785,2243,4336,2883,348,2534,81,
3274,632,3824,1372,8747,1033,8488,1673,8138,2323,
771,6336,422,7077,162,7638,713,7378,5734,8028,
5475,4874,7158,5524,7718,5266,3722,5817,3463,5556,
3114,6207,4755,2222,4415,2861,4156,2512,4706,2254,
619,3804,1351,3545,1011,3286,1651,8117,1303,8758,
2044,409,2684,141,7606,782,7356,432,7007,1183,
8648,6105,8389,6745,8030,6486,8671,6136,4504,7788,
5244,7439,5885,7178,5535,3183,5276,3734,6827,4473,
6568,4134,2582,4775,2232,4426,2873,5167,3523,1079,
3263,1631,3814,1372,3566,1022,8577,2662,129,2313,
769,2054,411,7077,162,7627,1712,8367,1452,8018,
6465,8650,6116,8300,6756,42,7417,5863,7157,5515,
7708,5256,7440,5805,3453,6546,4114,6287,4754,6847,
4405,2851,4145,2502,5785,3243,5436,3884,1350,3544,
1001,3284,1642,4835,2383,848,2033,589,2674,231,
2323,881,7346,1532,8087,1273,8638,1823,8378,6735,
8020,6485,661,7136,322,7778,5233,7427,5874,7168,
5525,8710,6265,4732,6827,4473,6567,4124,6217,4764,
2222,5416,3862,5156,3512,5706,3264,1621,3815,1361,
4555,2012,568,2652,218,2302,869,2044,511,7065,
1251,8616,1801,8357,1543,8007,6455,8648,6115,301,
7756,41,7406,5854,7147,5505,7787,5244,8439,6885,
4453,6546,4103,6286,4744,6837,4484,2841,5134,3582,
5775,3243,5426,3883,1348,3533,1081,4274,2631,4824,
2372,838,2023,589,2663,239,3323,1871,8336,1521,
8077,1262,8627,1813,8368,6734,29,7475,661,7127,
311,7766,5323,7417,5064,8158,6614,8708,6366,4722,
6816,4462,6556,4114,7207,5755,3212,5405,3861,5145,
3512,5706,3253,1619,4804,2351,4545,2001,4285,2641,
218,2303,859,3044,1509,3684,1240,8606,1882,8346,
1532,8087,2273,649,7104,389,7745,31,7486,672,
6344,8428,6084,8178,6635,4183,6377,4733,7027,5473,
7667,5124,3582,5775,3232,6426,3873,6167,4523,2079,
4263,2621,4815,2362,5556,2022,578,3662,1229,3313,
1869,3054,1511,8066,2252,8626,2801,368,2552,19,
7465,659,7115,1301,8708,6355,449,7005,4453,7646,
5104,7387,5744,7037,5405,3851,6145,4501,4534,2001,
5274,3641,5835,3382,1848,1588,3674,1231,4323,2871,
347,2532,88,2272,638,2823,379,7735,1021,8475,
1661,8126,1312,8777,6333,8427,6074,169,7625,711,
7365,5722,7016,5473,7657,5123,8317,6764,4222,6416,
4862,6156,4512,6706,4253,2721,5804,3461,5555,3111,
5206,3752,1218,3402,1859,4044,2501,66,2250,2801,
358,2543,8,7454,1649,8105,1380,8745,1031,8406,
6054,8147,6605,788,7344,438,7085,5443,7635,5103,
7376,5744,8037,6484,4840,6134,4582,6775,4233,6425,
4873,2448,5533,3181,5274,3731,5824,3472,1837,3123,
1578,4762,2229,4413,2871,337,2521,76,2262,628,
3812,1368,8724,1019,8475,1651,8126,1311,8766,6323,
418,7064,158,7614,709,7356,5722,7016,5462,8656,
6113,8307,4502,7786,5252,3719,5804,3450,5545,3100,
5284,3741,1208,4483,2859,4133,2508,4784,2240,607,
2881,347,3532,1088,3273,1638,8204,1389,8845,1031,
8486,2672,137,7683,778,7334,429,7074,169,7635,
5183,8376,6732,8027,6473,8667,6124,4572,6764,4232,
7415,5872,7167,5522,3179,5263,3721,5814,3462,6555,
4111,2578,4762,2229,4413,2869,4154,2511,67,3251,
1617,3801,1358,3543,1019,8564,1659,8215,2300,857,
2041,507,7054,248,7615,889,7354,1549,8005,6452,
8646,6104,8386,6744,8037,6484,4851,7145,5501,7785,
5243,7436,5884,3448,5533,3181,6274,4731,6825,4482,
2847,4133,2588,4773,2239,5423,3871,1337,3522,1087,
3262,1637,3822,1379,8835,2029,576,2661,227,2312,
868,7333,518,7074,1269,8625,1819,8366,6722,8016,
6463,8657,6113,308,7764,5221,7416,5861,7155,5512,
8706,5253,3711,6803,4450,6545,4111,6205,4751,2218,
5402,2859,5144,3500,5784,3240,1617,3881,1358,4541,
1008,8554,2649,206,2380,846,2031,587,7054,1248,
7603,1888,8344,1538,8085,6443,8635,6183,377,7733,
28,7483,5040,7134,5682,7775,5333,8425,6072,3439,
6623,4181,6263,4731,6824,4472,2837,5122,3577,5762,
3229,5413,3861,1336,3521,1077,4262,2627,4812,2368,
825,2019,566,2651,216,3301,1867,8323,1518,8064,
1258,8615,1809,8355,6712,6,7462,647,7113,308,
7755,5310,7404,5051,8145,6602,8786,6342,4718,6004,
6644,4100,7384,5741,3208,5483,3848,5133,3588,5773,
3240,1607,4880,2347,4532,2088,4273,2637,285,2378,
846,3021,1587,3671,1237,8683,1877,8334,1529,8074,
2269,626,7182,377,7732,27,7473,668,7124,5671,
8764,6321,8415,6062,8156,6622,4179,6363,4721,7014,
5461,7654,5111,3568,5752,3229,5402,3869,6153,4511,
2067,4251,2617,4801,2358,4543,2009,564,3649,1216,
3300,1857,3041,1507,8054,1248,8604,2889,345,2538,
6,7452,647,7103,387,7743,1038,8484,6041,8134,
6681,8775,6343,8436,6083,4448,7633,5180,7374,5731,
7024,5472,3847,5123,3588,6773,4239,6423,4871,2437,
4522,2176,4262,2727,5812,3478,1835,3129,1576,3761,
1226,3312,1867,8323,2518,65,2259,626,2819,366,
7722,17,7463,1657,8113,1308,8754,6321,8405,6061,
8155,6612,707,7353,5719,7004,5450,7645,5101,7385,
5751,3218,6402,4859,6144,4508,6784,4240,2707,4881,
2448,5532,3108,5283,3748,1206,3488,1846,3130,1587,
8043,2238,604,2877,345,2538,86,7441,636,7182,
1377,8733,1027,8473,6040,8134,6682,8775,6332,426,
7072,5438,7623,5171,7363,5721,7014,5472,3837,4577,
6762,4229,6413,4861,2425,4511,2177,5251,3727,5811,
3468,1825,3119,1565,3751,1216,4400,2857,324,2518,
64,2258,615,2809,356,7812,1006,8552,1647,8203,
1388,8753,6310,8404,6051,146,7602,786,7342,5708,
7084,5450,7633,5100,8384,6741,4208,6482,4847,6133,
4588,7773,4230,2706,5880,3447,5532,3187,5273,3737,
1285,4478,1836,4121,2576,4761,2236,684,2877,335,
3527,75,3269,1626,8272,1366,8832,1017,8573,2668,
225,6671,865,7321,516,7062,257,7612,5179,8353,
6721,8014,6460,8654,6111,4568,6752,4218,7402,5859,
7143,5510,3167,5250,3717,5801,3458,6542,4109,2554,
4748,2206,4480,2857,4140,2507,54,3248,1605,3888,
1345,3538,1086,8552,1637,8202,2387,844,2038,585,
7040,235,7681,876,7333,1527,8082,6448,8633,6180,
8374,6731,8024,6472,4837,7122,5578,7762,5239,7423,
5871,3436,5522,3176,6261,4727,6812,4468,2835,4119,
2575,4761,2226,5411,3866,1324,3518,1065,3259,1615,
3809,1366,8822,2017,564,2657,214,2308,855,7311,
505,7051,1246,8612,1807,8353,6718,8004,6450,8644,
6101,385,7741,5318,7482,5058,7144,5608,7783,5340,
3707,6881,4447,6532,4187,6273,4748,2206,4488,2846,
5130,3587,5772,3237,1684,3877,1335,3528,1086,8541,
2636,283,2377,834,2026,574,7030,225,7682,1866,
8331,1526,8072,6438,8623,6179,8363,6721,15,7461,
5037,7121,5677,7762,5329,7413,5069,3425,6610,4166,
6351,4717,6001,4468,2825,4119,2565,5758,3215,5400,
3857,1314,3508,1064,3248,1615,4809,2356,812,2006,
553,2647,204,2388,843,7310,1585,8051,1246,8601,
1886,8343,6708,8083,6440,634,7180,375,7741,5307,
7482,5047,7132,5688,8773,6330,4786,6070,4437,6622,
4187,6372,4737,2285,5478,3836,5121,3576,5761,3226,
1784,3867,1334,4527,2075,4269,2626,273,2365,823,
2017,564,3658,1224,8670,1865,8321,1515,8062,1256,
8612,6169,354,7710,5,7460,654,7111,5668,7752,
5318,8402,6058,8143,6600,4166,6340,4717,6001,4458,
7642,5108,3554,5748,3206,5480,3846,5130,3507,1153,
4248,2705,4887,2445,4538,2186,543,2737,282,3477,
1844,3137,1585,8040,1235,8681,1876,8332,2527,73,
7448,624,7180,375,7731,1025,7471,5037,8122,6677,
8762,6328,8413,6071,4436,6621,4176,7361,5727,7012,
5468,3825,5119,3565,6751,3226,6410,4866,2424,4518,
2165,4259,2714,5809,3455,823,3107,1563,3757,1214,
3408,1854,8310,2504,8051,2246,603,2887,353,7718,
4,7450,1644,8101,1385,8741,6308,8482,6048,8132,
6608,774,7340,5707,7081,5447,7631,5187,7373,5738,
3205,6478,4846,6130,4587,6772,4236,2784,4877,2435,
5528,3175,5269,3726,1282,3476,1834,3126,1574,8030,
2225,671,2865,322,2515,73,7538,624,7279,1364,
8820,1015,8561,6026,8111,6677,8752,6329,414,7069,
5425,7610,5166,7351,5716,7001,5458,3824,6109,4565,
6758,4215,6400,4857,2414,4507,2153,5248,3704,5888,
3456,1812,3106,1553,3747,1203,4488,2843,301,2585,
42,2236,602,2886,343,7808,1084,8548,1634,8280,
1375,8831,6307,8572,6047,233,7688,874,7338,5786,
7071,5436,7622,5177,8361,6737,4285,6478,4836,6121,
4575,6761,4226,2774,5867,3424,5518,3175,5269,3725,
1272,3465,1823,4116,2564,4757,2214,671,2854,322,
2515,62,3255,1613,8269,1354,8810,1004,8550,1644,
8211,6668,853,7318,503,7058,244,7600,5156,7340,
5707,8081,6458,8642,6107,4554,6748,4206,6480,4846,
7130,5587,3153,5237,3703,5887,3445,5538,3186,1542,
4736,2282,4476,2834,4127,2585,41,8538,1624,8270,
1365,8831,2025,572,7037,223,7677,863,7328,514,
7061,5435,4024,6119,4665,7750,5316,7400,5066,3424,
5618,2813,4107,2553,4747,2214,4488,2854,311,3504,
1052,3246,1603,3887,1343,8818,1084,8550,2644,201,

5282,3657,5832,3309,6583,4041,4681,2247,4331,2888,
4072,2538,5622,5881,7175,5530,7725,5281,8465,6832,
4489,6572,4139,6224,4770,6865,4421,2877,5161,3538,
5723,3279,5463,3828,1376,3560,1027,4211,2667,4851,
2318,775,2068,425,2618,166,3351,1717,8362,1457,
8013,1108,8664,1749,8314,6762,56,7413,607,7153,
347,7703,5251,4141,7234,5782,3256,5441,3807,5182,
3549,5733,3289,1645,4831,2386,4571,2047,504,2688,
145,2339,786,3079,1436,8082,1177,8633,1727,8383,
1478,8035,6481,676,7131,326,7772,67,7423,5888,
7164,5530,8724,6271,8465,6821,4478,6563,4128,6214,
4768,7853,5420,3877,5161,3528,5712,3267,5453,3818,
1366,4558,2016,4201,2667,4842,1256,3349,1806,8362,
1547,8013,1208,8653,2747,305,7752,46,7401,686,
7142,336,7783,5251,8443,6801,8184,6541,8735,6281,
4747,6832,4489,7573,5141,7223,5780,3247,5431,2386,
4570,2037,5221,2678,234,3328,1874,3069,1526,3610,
1266,8632,2827,8373,2568,24,2218,665,7121,316,
7762,1056,7423,1607,8163,6520,8713,6260,8454,6811,
106,7553,4117,7202,5768,7853,5410,7504,5151,3517,
6702,4257,6442,4807,6182,4548,2016,4201,2656,5841,
3306,5582,3047,1505,3688,1245,3339,1806,4071,2545,
3,2287,644,2838,385,2578,35,7481,1675,8142,
1337,8782,1077,8433,6080,8175,6630,724,7271,466,
7822,5488,7572,5138,7224,5770,8864,6420,4877,6161,
4528,6712,4278,6453,4828,2376,5560,3027,5210,3667,
5851,3318,1865,3058,1525,4618,2266,4351,2817,362,
2557,14,2207,655,3848,1305,8761,1056,8412,1607,
8152,6782,4246,6431,4807,6172,4549,7732,5289,3645,
5831,3386,5571,3037,5221,3678,1245,4339,2884,4079,
2535,83,2277,633,2827,374,3568,1024,8481,1675,
8131,1326,8772,1067,8423,6078,164,7620,715,7371,
455,7021,5478,7663,5128,8313,6768,8053,6410,4877,
6151,4527,6712,4267,7453,5818,3365,5558,3016,5201,
3657,5842,3306,1864,4057,2515,4608,2256,4349,2806,
353,2546,4,3286,1654,3837,1305,8751,1046,8401,
1685,8142,2336,784,7349,434,7001,185,7641,735,
7381,5747,8032,6489,8673,6139,8323,6770,4247,6431,
4888,7171,5538,7722,5279,3735,5828,3476,5560,3137,
6211,4778,2233,4428,2874,4068,2526,4610,2266,623,
3817,1373,3568,1024,3217,1665,8121,1316,8761,2056,
413,2607,154,7620,714,7360,455,7012,1106,8652,
6117,8302,6758,8043,5257,7442,5807,7182,5548,3106,
5281,3755,6841,4406,6581,4147,2504,4788,2245,4439,
2885,5171,3535,1003,3286,1644,3838,1384,3578,1034,
8481,2675,133,2326,783,2067,434,7080,175,7630,
1724,8371,1466,8022,6478,8662,6138,8324,6770,65,
7420,5877,7161,5528,7712,5267,8452,5818,3476,6560,
4126,6210,4767,6851,4417,2865,4157,2515,5708,3266,
5441,3817,1363,3556,1014,4207,1655,4847,2305,852,
2046,413,2686,153,3346,1704,7350,1445,8001,1185,
8641,1736,8382,6757,43,6408,684,7141,335,7780,
5246,7431,5887,8172,6538,8722,6289,4745,6830,4486,
6570,4137,7221,5778,3234,5429,3884,5168,3535,5720,
3277,1633,4827,2374,4568,2024,571,2664,232,2326,
873,3067,1523,8078,1264,8620,1815,8361,1555,8011,
6477,663,7128,313,7768,54,7410,5867,7151,5516,
8701,6267,8442,6818,4465,6558,4116,6201,4756,7842,
5406,3854,5147,3515,5708,3255,5449,3805,1353,4546,
2004,4286,2644,4837,2045,502,3685,1243,3336,1884,
8348,1534,8080,1275,8641,2824,382,7747,33,7489,
674,7138,324,7770,5236,8421,6886,8171,6538,8722,
6278,4735,6828,4476,7560,5127,7211,5767,3233,5427,
3874,5168,3526,6718,4266,2623,4817,2363,4557,2024,
4207,2665,222,3316,1862,3056,1513,3607,1254,8618,
1804,8360,2555,12,2206,652,7117,303,7758,44,
7408,1684,8141,6616,8701,6357,8441,6007,8182,6548,
4105,7289,5745,7830,5406,7571,5147,3504,5788,3245,
6439,4885,6170,4535,2083,4276,2644,4828,2384,5578,
3034,1582,3675,1232,3326,1873,3067,1524,8080,2273,
631,2824,372,2566,22,7477,663,7128,1313,8760,
1054,8420,6077,8161,6627,8712,6367,452,7018,5466,
7650,5126,7300,5766,7052,5417,3864,6157,4515,6708,
4256,6440,4806,2363,4556,2014,5207,3654,5847,3305,
1851,3046,1503,3685,1243,4336,2804,351,2545,1,
2285,642,2835,383,7747,1033,8408,1674,8140,1335,
8780,6346,8431,6088,173,7637,723,7378,5745,7030,
5486,7670,5137,8321,6778,4234,6428,4874,6168,4525,
6710,4277,2633,5827,3373,5568,3024,5217,3664,1222,
3316,1873,4057,2522,79,2264,621,2815,361,2555,
12,7467,1652,8128,1313,8768,1054,8410,6066,8150,
6616,701,7357,443,7008,5465,7658,5116,7301,5756,
8040,6406,4854,6147,4505,6788,4255,7439,4805,2453,
5546,3103,5286,3744,5837,3485,1842,3134,1502,4785,
2243,4336,2883,348,2534,81,3274,632,3824,1372,
8747,1033,8488,1673,8138,2323,771,6336,422,7077,
162,7638,713,7378,5734,8028,5475,8660,6127,8311,
6767,4223,6417,4874,7158,5524,7718,5266,3722,5817,
3463,5556,3114,6207,4755,2222,4415,2861,4156,2512,
4706,2254,619,3804,1351,3545,1011,3286,1651,8117,
1303,8758,2044,409,2684,141,7606,782,7356,432,
7007,1183,8648,6105,8389,6745,8030,6486,8671,6136,
4504,7788,5244,7439,5885,7178,5535,3183,5276,3734,
6827,4473,6568,4134,2582,4775,2232,4426,2873,5167,
3523,1079,3263,1631,3814,1372,3566,1022,8577,2662,
129,2313,769,2054,411,7077,162,7627,1712,8367,
1452,8018,6465,8650,6116,8300,6756,42,7417,5863,
7157,5515,7708,5256,7440,5805,3453,6546,4114,6287,
4754,6847,4405,2851,4145,2502,5785,3243,5436,3884,
1350,3544,1001,1642,4835,2383,848,2033,7346,1532,
8087,1273,8638,1823,8378,6735,8020,6485,661,7136,
322,7778,5233,7427,5874,7168,5525,8710,6265,4732,
6827,4473,6567,4124,6217,4764,2222,5416,3862,5156,
3512,5706,3264,1621,3815,1361,4555,2012,568,2652,
218,2302,869,2044,511,7065,1251,8616,1801,8357,
1543,8007,6455,8648,6115,301,7756,41,7406,5854,
7147,5505,7787,5244,8439,6885,4453,6546,4103,6286,
4744,6837,4484,2841,5134,3582,5775,3243,5426,3883,
1348,3533,1081,4274,2631,4824,2372,838,2023,589,
2663,239,3323,1871,8336,1521,8077,1262,8627,1813,
8368,6734,29,7475,661,7127,311,7766,5323,7417,
5064,8158,6614,8708,6366,4722,6816,4462,6556,4114,
7207,5755,3212,5405,3861,5145,3512,5706,3253,1619,
4804,2351,4545,2001,4285,2641,218,2303,859,3044,
1509,3684,1240,8606,1882,8346,1532,8087,2273,649,
7104,389,7745,31,7486,672,7136,5683,8777,6344,
8428,6084,8178,6635,4183,6377,4733,7027,5473,7667,
5124,3582,5775,3232,6426,3873,6167,4523,2079,4263,
2621,4815,2362,5556,2022,578,3662,1229,3313,1869,
3054,1511,8066,2252,8626,2801,368,2552,19,7465,
659,7115,1301,8756,1041,8407,6064,8157,6615,8708,
6355,449,7005,4453,7646,5104,7387,5744,7037,5405,
3851,6145,4501,6785,4243,6436,4884,2348,4534,2001,
5274,3641,5835,3382,1848,3033,1588,3674,1231,4323,
2823,379,7735,1021,8475,1661,8126,1312,8777,6333,
8427,6074,169,7625,711,7365,5722,7016,5473,7657,
5123,8317,6764,4222,2721,5804,3461,5555,3111,5206,
3752,1218,3402,1859,4044,2501,66,2250,617,2801,
358,2543,8,7454,1649,8105,1380,8745,1031,8406,
6054,8147,6605,788,7344,438,7085,5443,7635,5103,
7376,5744,8037,6484,4840,6134,4582,6775,4233,6425,
4873,2448,5533,3181,5274,3731,5824,3472,1837,3123,
1578,4762,2229,4413,2871,337,2521,76,2262,628,
3812,1368,8724,1019,8475,1651,8126,1311,8766,6323,
418,7064,158,7614,709,7356,5722,7016,5462,8656,
6113,8307,6755,4210,6405,4851,6145,4502,5545,3100,
5284,3741,1208,4483,2859,4133,2508,4784,2240,607,
2881,347,3532,1088,3273,1638,8204,1389,8845,1031,
8486,2672,137,7683,778,7334,429,7074,169,7635,
5183,8376,6732,8027,6473,4572,6764,4232,7415,5872,
7167,5522,3179,5263,3721,5814,3462,6555,4111,2578,
4762,2229,4413,2869,4154,2511,67,3251,1617,3801,
1358,3543,1019,8564,1659,8215,2300,857,2041,507,
7054,248,7615,889,7354,1549,8005,6452,8646,6104,
8386,6744,8037,6484,4851,7145,5501,7785,5243,7436,
5884,3448,5533,3181,6274,4731,6825,4482,2847,4133,
2588,4773,2239,5423,3871,1337,3522,1087,3262,1637,
3822,1379,8835,2029,576,2661,227,2312,868,7333,
518,7074,1269,8625,1819,8366,6722,8016,6463,8657,
6113,308,7764,5221,7416,5861,7155,5512,8706,5253,
3711,6803,4450,6545,4111,6205,4751,2218,5402,2859,
5144,3500,5784,3240,1617,3881,1358,4541,1008,8554,
2649,206,2380,846,2031,587,7054,1248,7603,1888,
8344,1538,8085,6443,8635,6183,377,7733,28,7483,
5040,7134,5682,7775,5333,8425,6072,3439,6623,4181,
6263,4731,6824,4472,2837,5122,3577,5762,3229,5413,
3861,1336,3521,1077,4262,2627,4812,2368,825,2019,
566,2651,216,3301,1867,8323,1518,1809,8355,6712,
6,7462,647,7113,308,7755,5310,7404,5051,8145,
6602,8786,6342,4718,6004,4450,6644,4100,7384,5741,
3208,5483,3848,5133,3588,5773,3240,1607,4880,2347,
4532,2088,4273,2637,285,2378,846,3021,1587,3671,
1237,8683,1877,8334,1529,8074,2269,626,7182,377,
7732,27,7473,668,7124,5671,8764,6321,8415,6062,
8156,6622,4179,6363,4721,7014,5461,7654,5111,3568,
5752,3229,5402,3869,6153,4511,2067,4251,2617,4801,
2358,2009,564,3649,1216,1248,8604,2889,345,2538,
6,7452,647,7103,387,1038,8484,6041,8134,6681,
8775,6343,8436,6083,4448,7633,5180,7374,5731,7024,
5472,3847,5123,3588,6773,4239,6423,4871,2437,4522,
2176,4262,2727,5812,3478,1835,3129,1576,3761,1226,
3312,1867,8323,2518,65,2259,626,2819,366,7722,
17,7463,1657,8113,1308,8754,6321,8405,6061,8155,
6612,707,7353,5719,7004,5450,7645,5101,7385,5751,
3218,6402,6784,4240,2707,4881,2448,5532,3108,5283,
3748,1206,3488,1846,3130,1587,8043,2238,604,2877,
345,2538,86,7441,636,7182,1377,8733,1027,8473,
6040,8134,6682,8775,6332,426,7072,5438,7623,5171,
7363,5721,7014,5472,3837,6121,4577,6762,4229,6413,
4861,2425,4511,2177,5251,3727,5811,3468,1825,3119,
1565,3751,1216,4400,2857,324,2518,64,2258,615,
2809,356,7812,8552,1647,8203,1388,8753,6310,8404,
6051,146,7602,786,7342,5708,7084,5450,7633,5100,
8384,6741,4208,6482,4847,6133,4588,7773,4230,2706,
5880,3447,5532,3187,5273,3737,1285,4478,1836,4121,
2576,4761,2236,684,2877,335,3527,75,3269,1626,
8272,1366,8832,1017,8573,2668,225,6671,865,7321,
516,7062,257,7612,5179,6721,8014,6460,8654,6111,
4568,6752,4218,7402,5859,7143,5510,3167,5250,3717,
5801,3458,6542,4109,2554,4748,2206,4480,2857,4140,
2507,54,3248,1605,3888,1345,3538,1086,8552,1637,
8202,2387,844,2038,585,7040,235,7681,876,7333,
1527,8082,6448,8633,6180,8374,6731,8024,6472,4837,
7122,5578,7762,5239,7423,5871,3436,5522,3176,6261,
4727,6812,4468,2835,4119,2575,4761,2226,5411,3866,
1324,3518,1065,3259,1615,3809,1366,8822,2017,564,
2657,214,2308,855,7311,505,7051,1246,8612,1807,
8353,6718,8004,6450,8644,6101,385,7741,5318,7482,
5058,7144,5608,7783,5340,3707,6881,4447,6532,4187,
6273,4748,2206,4488,2846,5130,3587,5772,3237,1684,
3877,1335,3528,1086,8541,2636,283,2377,834,2026,
574,7030,225,7682,1866,8331,1526,8072,6438,8623,
6179,8363,6721,15,7461,5037,7121,5677,7762,5329,
7413,5069,3425,6610,4166,6351,4717,6001,4468,2825,
4119,2565,5758,3215,5400,3857,1314,3508,1064,3248,
1615,4809,2356,2006,553,2647,204,2388,843,7310,
1585,8051,1246,8601,1886,8343,6708,8083,6440,634,
7180,375,7741,5307,7482,5047,7132,5688,8773,6330,
4786,6070,4437,6622,4187,6372,4737,2285,5478,3836,
5121,3576,5761,3226,1784,3867,1334,4527,2075,4269,
2626,273,2365,823,2017,564,3658,1224,8670,1865,
8321,1515,8062,1256,8612,6169,354,7710,5,7460,
654,7111,5668,7752,5318,8402,6058,8143,6600,4166,
6340,4717,6001,4458,7642,5108,3554,5748,3206,5480,
3846,5130,3507,1153,4248,2705,4887,2445,4538,2186,
543,2737,282,3477,1844,3137,1585,8040,1235,8681,
1876,8332,2527,73,7448,624,7180,375,7731,1025,
7471,5037,8122,6677,8762,6328,8413,6071,4436,6621,
4176,7361,5727,7012,5468,3825,5119,3565,6751,3226,
6410,4866,2424,4518,2165,4259,2714,5809,3455,823,
3107,1563,3757,1214,3408,1854,8310,2504,8051,2246,
603,2887,353,7718,4,7450,1644,8101,1385,8741,
6308,8482,6048,8132,6608,774,7340,5707,7081,5447,
7631,5187,7373,5738,3205,6478,4846,6130,4587,6772,
4236,2784,4877,2435,5528,3175,5269,3726,1282,3476,
1834,3126,1574,8030,2225,671,2865,322,2515,73,
7538,624,7279,1364,8820,1015,8561,6026,8111,6677,
8752,6329,414,7069,5425,7610,5166,7351,5716,7001,
5458,3824,6109,4565,6758,4215,6400,4857,2414,4507,
2153,5248,3704,5888,3456,1812,3106,1553,3747,1203,
4488,2843,301,2585,42,2236,602,2886,343,7808,
1084,8548,1634,8280,1375,8831,6307,8572,6047,233,
7688,874,7338,5786,7071,5436,7622,5177,8361,6737,
4285,6478,4836,6121,4575,6761,4226,2774,5867,3424,
5518,3175,5269,3725,1272,3465,1823,4116,2564,4757,
2214,671,2854,322,2515,62,3255,1613,8269,1354,
8810,1004,8550,1644,8211,6668,853,7318,503,7058,
244,7600,5156,7340,5707,8081,6458,8642,6107,4554,
6748,4206,6480,4846,7130,5587,3153,5237,3703,5887,
3445,5538,3186,1542,4736,2282,2585,41,2235,682,
3876,1333,3525,1073,8538,1624,8270,1365,8831,2025,
572,7037,223,7677,863,7328,514,7061,5435,8610,
6176,8361,6727,8012,6467,4024,6119,4665,7750,5316,
7400,5066,3424,5618,3164,5258,3714,6808,4455,2813,
4107,2553,4747,2214,4488,2854,311,3504,1052,3246,
1603,3887,1343,8818,1084,8550,2644,201,2385,842,
7307,583,7048,233,7688,1874,8330,6707,8080,6446,
8631,6187,8372,6738,4385,7478,5036,7120,5686,7761,
5336,3784,5077,3435,6628,4175,6369,4725,2273,4466,
2833,4126,2574,5767,3225,1671,3865,1322,3515,1063,

3309,6583,4041,2247,4331,2888,4072,2538,5622,3289,
1645,3831,1386,3570,1037,3221,1678,8134,2328,774,
2069,436,2610,176,7632,727,3841,1306,4582,2047,
405,2688,155,2349,706,2318,775,2068,425,2618,
166,3351,1717,8362,1457,8013,1108,8664,1749,8314,
6762,56,7413,347,7703,5251,4141,7234,5782,3256,
5441,3807,5182,3549,5733,3289,1645,4831,2386,4571,
2047,504,2688,145,2339,786,3079,1436,8082,1177,
8633,1727,8383,1478,8035,6481,676,7131,326,7772,
67,7423,5888,7164,5530,8724,6271,8465,6821,4478,
6563,4128,6214,4768,7853,5420,3877,5161,3528,5712,
3267,5453,3818,1366,4558,2016,4201,2667,4842,2318,
864,2057,515,3608,1256,3349,1806,8362,1547,8013,
8653,2747,7752,46,7401,686,7142,336,7783,5251,
8443,6801,8184,6541,8735,6281,4747,6832,7573,5141,
7223,5780,3247,5431,3888,5171,3538,6722,4279,2635,
2386,4570,2037,5221,2678,234,3328,1874,3069,1526,
3610,1266,8632,1056,7423,1607,8163,6520,8713,6260,
7853,5410,7504,5151,3517,6702,4257,6442,4807,6182,
4548,2016,4201,2656,5841,3306,5582,3047,1505,3688,
1245,3339,1806,4071,2545,3,2287,644,2838,385,
2578,35,7481,1675,8142,1337,8782,1077,8433,6080,
8175,6630,724,7271,466,7822,5488,7572,5138,7224,
5770,8864,6420,4877,6161,4528,6712,4278,6453,4828,
2376,5560,3027,5210,3667,5851,3318,1865,3058,1525,
4618,2266,4351,2817,362,2557,14,2207,655,3848,
1305,8761,1056,8412,1607,8152,1346,8703,6351,445,
7001,185,7651,736,7302,5758,7042,5408,8683,6141,
8334,6782,4246,6431,4807,6172,4549,7732,5289,3645,
5831,3386,5571,3037,5221,3678,1245,4339,2884,4079,
2535,83,2277,633,2827,374,3568,1024,8481,1675,
8131,1326,8772,1067,8423,6078,164,7620,715,7371,
455,7021,5478,7663,5128,8313,6768,8053,6410,4877,
6151,4527,6712,4267,7453,5818,3365,5558,3016,5201,
3657,5842,3306,1864,4057,2515,4608,2256,4349,2806,
353,2546,4,3286,1654,3837,1305,8751,1046,8401,
1685,8142,2336,784,7349,434,7001,185,7641,735,
7381,5747,8032,6489,8673,6139,8323,6770,4247,6431,
4888,7171,5538,7722,5279,3735,5828,3476,5560,3137,
6211,4778,2233,4428,2874,4068,2526,4610,2266,623,
3817,1373,3568,1024,3217,1665,8121,1316,8761,2056,
413,2607,154,7620,714,7360,455,7012,1106,8652,
6117,8302,6758,8043,6410,8683,6151,4516,7702,5257,
7442,5807,7182,5548,3106,5281,3755,6841,4406,6581,
4147,2504,4788,2245,4439,2885,5171,3535,1003,3286,
1644,3838,1384,3578,1034,8481,2675,133,2326,783,
2067,434,7080,175,7630,1724,8371,1466,8022,6478,
8662,6138,8324,6770,65,7420,5877,7161,5528,7712,
5267,8452,5818,3476,6560,4126,6210,4767,6851,4417,
2865,4157,2515,5708,3266,5441,3817,1363,3556,1014,
4207,1655,4847,2305,852,2046,413,2686,153,3346,
1704,7350,1445,8001,1185,8641,1736,8382,6757,43,
6408,684,7141,335,7780,5246,7431,5887,8172,6538,
8722,6289,4745,6830,4486,6570,4137,7221,5778,3234,
5429,3884,5168,3535,5720,3277,1633,4827,2374,4568,
2024,571,2664,232,2326,873,3067,1523,8078,1264,
8620,1815,8361,1555,8011,6477,663,7128,313,7768,
54,7410,5867,7151,5516,8701,6267,8442,6818,4465,
6558,4116,6201,4756,7842,5406,3854,5147,3515,5708,
3255,5449,3805,1353,4546,2004,4286,2644,4837,2385,
852,2045,502,3685,1243,3336,1884,8348,1534,8080,
1275,8641,2824,382,7747,33,7489,674,7138,324,
7770,5236,8421,6886,8171,6538,8722,6278,4735,6828,
4476,7560,5127,7211,5767,3233,5427,3874,5168,3526,
6718,4266,2623,4817,2363,4557,2024,4207,2665,222,
3316,1862,3056,1513,3607,1254,8618,1804,8360,2555,
12,2206,652,7117,303,7758,44,7408,1684,8141,
6616,8701,6357,8441,6007,8182,6548,4105,7289,5745,
7830,5406,7571,5147,3504,5788,3245,6439,4885,6170,
4535,2083,4276,2644,4828,2384,5578,3034,1582,3675,
1232,3326,1873,3067,1524,8080,2273,631,2824,372,
2566,22,7477,663,7128,1313,8760,1054,8420,6077,
8161,6627,8712,6367,452,7018,5466,7650,5126,7300,
5766,7052,5417,3864,6157,4515,6708,4256,6440,4806,
2363,4556,2014,5207,3654,5847,3305,1851,3046,1503,
3685,1243,4336,2804,351,2545,1,2285,642,2835,
383,7747,1033,8408,1674,8140,1335,8780,6346,8431,
6088,173,7637,723,7378,5745,7030,5486,7670,5137,
8321,6778,4234,4277,2633,5827,3373,5568,3024,5217,
3664,1222,3316,1873,4057,2522,79,2264,621,2815,
361,2555,12,7467,1652,8128,1313,8768,1054,8410,
6066,8150,6616,701,7357,443,7008,5465,7658,5116,
7301,5756,8040,6406,4854,6147,4505,6788,4255,7439,
4805,2453,5546,3103,5286,3744,5837,3485,1842,3134,
1502,4785,2243,4336,2883,348,2534,81,3274,632,
3824,1372,8747,1033,8488,1673,8138,2323,771,6336,
422,7077,162,7638,713,7378,5734,8028,5475,8660,
6127,8311,6767,4223,6417,4874,7158,5524,7718,5266,
3722,5817,3463,5556,3114,6207,4755,2222,4415,2861,
4156,2512,4706,2254,619,3804,1351,3545,1011,3286,
1651,8117,1303,8758,2044,409,2684,141,7606,782,
7356,432,7007,1183,8648,6105,8389,6745,8030,6486,
8671,6136,4504,7788,5244,7439,5885,7178,5535,3183,
5276,3734,6827,4473,6568,4134,2582,4775,2232,4426,
2873,5167,3523,1079,3263,1631,3814,1372,3566,1022,
8577,2662,129,2313,769,2054,411,7077,162,7627,
1712,8367,1452,8018,6465,8650,6116,8300,6756,42,
7417,5863,7157,5515,7708,5256,7440,5805,3453,6546,
4114,6287,4754,6847,4405,2851,4145,2502,5785,3243,
5436,3884,1350,3544,1001,3284,1642,4835,2383,848,
2033,589,2674,231,2323,881,7346,1532,8087,1273,
8638,1823,8378,6735,8020,6485,661,7136,322,7778,
5233,7427,5874,7168,5525,8710,6265,4732,6827,4473,
6567,4124,6217,4764,2222,5416,3862,5156,3512,5706,
3264,1621,3815,1361,4555,2012,568,2652,218,2302,
869,2044,511,7065,1251,8616,1801,8357,1543,8007,
6455,8648,6115,301,7756,41,7406,5854,7147,5505,
7787,5244,8439,6885,4453,6546,4103,6286,4744,6837,
4484,2841,5134,3582,5775,3243,5426,3883,1348,3533,
1081,4274,2631,4824,2372,838,2023,589,2663,239,
3323,1871,8336,1521,8077,1262,8627,1813,8368,6734,
29,7475,661,7127,311,7766,5323,7417,5064,8158,
6614,8708,6366,4722,6816,4462,6556,4114,7207,5755,
3212,5405,3861,5145,3512,5706,3253,1619,4804,2351,
4545,2001,4285,2641,218,2303,859,3044,1509,3684,
1240,8606,1882,8346,1532,8087,2273,649,7104,389,
7745,31,7486,672,7136,5683,8777,6344,8428,6084,
8178,6635,4183,6377,4733,7027,5473,7667,5124,3582,
5775,3232,6426,3873,6167,4523,2079,4263,2621,4815,
2362,5556,2022,578,3662,1229,3313,1869,3054,1511,
8066,19,7465,659,7115,1301,8756,1041,8407,6064,
8157,6615,8708,6355,449,7005,4453,7646,5104,7387,
5744,7037,5405,3851,6145,4501,6785,4243,6436,4884,
2348,4534,2001,5274,3641,5835,3382,1848,3033,1588,
3674,1231,4323,2871,347,2532,88,2272,638,2823,
379,7735,1021,8475,1661,8126,1312,8777,6333,8427,
6074,169,7625,711,7365,5722,7016,5473,7657,5123,
8317,6764,4222,6416,4862,6156,4512,6706,4253,2721,
5804,3461,5555,3111,5206,3752,1218,3402,1859,4044,
2501,66,2250,617,2801,358,2543,8,7454,1649,
8105,1380,8745,1031,8406,6054,8147,6605,788,7344,
438,7085,5443,7635,5103,7376,5744,8037,6484,4840,
6134,4582,6775,4233,6425,4873,2448,5533,3181,5274,
3731,5824,3472,1837,3123,1578,4762,2229,4413,2871,
337,2521,76,2262,628,3812,1368,8724,1019,8475,
1651,8126,1311,8766,6323,418,7064,158,7614,709,
7356,5722,7016,5462,8656,6113,8307,6755,4210,6405,
4851,6145,4502,7786,5252,3719,5804,3450,5545,3741,
1208,4483,2859,4133,2508,4784,2240,607,2881,347,
3532,1088,3273,1638,8204,1389,8845,1031,8486,2672,
137,7683,778,7334,429,7074,169,7635,5183,8376,
6732,8027,6473,8667,6124,4572,6764,4232,7415,5872,
7167,5522,3179,5263,3721,5814,3462,6555,4111,2578,
4762,2229,4413,2869,4154,2511,67,3251,1617,3801,
1358,3543,1019,8564,1659,8215,2300,857,2041,507,
7054,248,7615,889,7354,1549,8005,6452,8646,6104,
8386,6744,8037,6484,4851,7145,5501,7785,5243,7436,
5884,3448,5533,3181,6274,4731,6825,4482,2847,4133,
2588,4773,2239,5423,3871,1337,3522,1087,3262,1637,
3822,1379,8835,2029,576,2661,227,2312,868,7333,
518,7074,1269,8625,1819,8366,6722,8016,6463,8657,
6113,308,7764,5221,7416,5861,7155,5512,8706,5253,
3711,6803,4450,6545,4111,6205,4751,2218,5402,2859,
5144,3500,5784,3240,1617,3881,1358,4541,1008,8554,
2649,206,2380,846,2031,587,7054,1248,7603,1888,
8344,1538,8085,6443,8635,6183,377,7733,28,7483,
5040,7134,5682,7775,5333,8425,6072,3439,6623,4181,
6263,4731,6824,4472,2837,5122,3577,5762,3229,5413,
3861,1336,3521,1077,4262,2627,4812,2368,825,2019,
566,2651,216,3301,1867,8323,1518,8064,1258,8615,
1809,8355,6712,6,7462,647,7113,308,7755,5310,
7404,5051,8145,6602,8786,6342,4718,6004,4450,6644,
4100,7384,5741,5773,2088,1237,8683,1877,8334,1529,
8074,2269,626,7182,377,7732,27,7473,668,7124,
5671,8764,6321,8415,6062,8156,6622,4179,6363,4721,
7014,5461,7654,5111,3568,5752,3229,5402,3869,6153,
4511,2067,4251,2617,4801,2358,4543,2009,564,3649,
1216,3300,1857,3041,1507,8054,1248,8604,2889,345,
2538,6,7452,647,7103,387,7743,1038,8484,6041,
8134,6681,8775,6343,8436,6083,4448,7633,5180,7374,
5731,7024,5472,3847,5123,3588,6773,4239,6423,4871,
2437,4522,2176,4262,2727,5812,3478,1835,3129,1576,
3761,1226,3312,1867,8323,2518,65,2259,626,2819,
366,7722,17,7463,1657,8113,8754,6321,8405,6061,
8155,6612,707,7353,5719,7004,5450,7645,5101,7385,
5751,3218,6402,4859,6144,4508,6784,4240,2707,4881,
2448,5532,3108,5283,3748,1206,3488,1846,3130,1587,
8043,2238,604,2877,345,2538,86,7441,636,7182,
1377,8733,1027,8473,6040,8134,6682,8775,6332,426,
7072,5438,7623,5171,7363,5721,7014,5472,3837,6121,
4577,6762,4229,6413,4861,2425,4511,2177,5251,3727,
5811,3468,1825,3119,1565,3751,1216,4400,2857,324,
2518,64,2258,615,2809,356,7812,1006,8552,1647,
8203,1388,8753,6310,8404,6051,146,7602,786,7342,
5708,7084,5450,7633,5100,8384,6741,4208,6482,4847,
6133,4588,7773,4230,2706,5880,3447,5532,3187,5273,
3737,1285,4478,1836,4121,2576,4761,2236,684,2877,
335,3527,75,3269,1626,8272,1366,8832,1017,8573,
2668,225,6671,865,7321,516,7062,257,7612,5179,
8353,6721,8014,6460,8654,6111,4568,6752,4218,7402,
5859,7143,5510,3167,5250,3717,5801,3458,6542,4109,
2554,4748,2206,4480,2857,4140,2507,54,3248,1605,
3888,1345,3538,1086,8552,1637,8202,2387,844,2038,
585,7040,235,7681,876,7333,1527,8082,6448,8633,
6180,8374,6731,8024,6472,4837,7122,5578,7762,5239,
7423,5871,3436,5522,3176,6261,4727,6812,4468,2835,
4119,2575,4761,2226,5411,3866,1324,3518,1065,3259,
1615,3809,1366,8822,2017,564,2657,214,2308,855,
7311,505,7051,1246,8612,1807,8353,6718,8004,6450,
8644,6101,385,7741,5318,7482,5058,7144,5608,7783,
5340,3707,6881,4447,6532,4187,6273,4748,2206,4488,
2846,5130,3587,5772,3237,1684,3877,1335,3528,1086,
8541,2636,283,2377,834,2026,574,7030,225,7682,
1866,8331,1526,8072,6438,8623,6179,8363,6721,15,
7461,5037,7121,5677,7762,5329,5069,3425,6610,4166,
6351,4717,6001,4468,2825,4119,2565,5758,3215,5400,
3857,1314,3508,1064,3248,1615,4809,2356,812,2006,
553,2647,204,2388,843,7310,1585,8051,1246,8601,
1886,8343,6708,8083,6440,634,7180,375,7741,5307,
7482,5047,7132,5688,8773,6330,4786,6070,4437,6622,
4187,6372,4737,2285,5478,3836,5121,3576,5761,3226,
1784,3867,1334,4527,2075,4269,2626,273,2365,823,
2017,564,3658,1224,8670,1865,8321,1515,8062,1256,
8612,6169,354,7710,5,7460,654,7111,5668,7752,
5318,8402,6058,8143,6600,4166,6340,4717,6001,4458,
7642,5108,3554,5748,3206,5480,3846,5130,3507,1153,
4248,2705,4887,2445,4538,2186,543,2737,282,3477,
1844,3137,1585,8040,1235,8681,1876,8332,2527,73,
7448,624,7180,375,7731,1025,7471,5037,8122,6677,
8762,6328,8413,6071,4436,6621,4176,7361,5727,7012,
5468,3825,5119,3565,6751,3226,6410,4866,2424,4518,
2165,4259,2714,5809,3455,823,3107,1563,3757,1214,
3408,1854,8310,2504,8051,2246,603,2887,353,7718,
4,7450,1644,8101,1385,8741,6308,8482,6048,8132,
6608,774,7340,5707,7081,5447,7631,5187,7373,5738,
3205,6478,4846,6130,4587,6772,4236,2784,4877,2435,
5528,3175,5269,3726,1282,3476,1834,3126,1574,8030,
2225,671,2865,322,2515,73,7538,624,7279,1364,
8820,1015,8561,6026,8111,6677,8752,6329,414,7069,
5425,7610,5166,7351,5716,7001,5458,3824,6109,4565,
6758,4215,6400,4857,2414,4507,2153,5248,3704,5888,
3456,1812,3106,1553,3747,1203,4488,2843,301,2585,
42,2236,602,2886,343,7808,1084,8548,1634,8280,
1375,8831,6307,8572,6047,233,7688,874,7338,5786,
7071,5436,7622,5177,8361,6737,4285,6478,4836,6121,
4575,6761,4226,2774,5867,3424,5518,3175,5269,3725,
1272,3465,1823,4116,2564,4757,2214,671,2854,322,
2515,62,3255,1613,8269,1354,8810,1004,8550,1644,
8211,6668,853,7318,503,7058,244,7600,5156,7340,
5707,8081,6458,8642,6107,4554,6748,4206,6480,4846,
7130,5587,3153,5237,3703,5887,3445,5538,3186,1542,
4736,2282,4476,2834,4127,2585,41,2235,682,3876,
1333,3525,1073,8538,1624,8270,1365,8831,2025,572,
7037,223,7677,863,7328,514,7061,5435,8610,6176,
8361,6727,8012,6467,4024,6119,4665,7750,5316,7400,
5066,3424,5618,3164,5258,3714,6808,4455,2813,4107,
2553,4747,2214,4488,2854,311,3504,1052,3246,1603,
3887,1343,8818,1084,8550,2644,201,2385,842,7307,
583,7048,233,7688,1874,8330,6707,8080,6446,8631,
6187,8372,6738,4385,7478,5036,7120,5686,7761,5336
};

void InsertSort(int *m, int n)
{
	int i,j,temp;
	for(i=1;i<n;i++)
	{
		temp=m[i];
		j=i-1;
		while(j>=0 && temp<m[j])
		{
			m[j+1]=m[j];
			j--;
		}
		m[j+1]=temp;		

	}
}


int main()
{
	int i;
	clock_t tm;
	
	printf("\n排序后\n");
	
	InsertSort(a,10000);
	
	for(i=0;i<10000;i++)
	{
		printf("%-5d ",a[i]);
		
		if(!(i%12)&&i!=0)
			printf("\n");
	}

	tm=clock();
	printf("\n特殊排序 时间复杂度为O(n),空间复杂度O(1): 用时 %d ms\n",tm);

	
	return 0;
}


以下是各种排序算法所用的时间

wKiom1VAr-bAqaK_AAYgwCdQ7rc135.jpg

wKioL1VAsU3BMnQwAAYk29EfR-I674.jpg

wKiom1VAr-bBY5taAAQHVWmmFzw244.jpg

wKioL1VAsU6Cxbz7AAYiG85mr7g623.jpg

wKiom1VAr-ehHjkCAAYj8SpFA_Y046.jpg

wKioL1VAsU7BY-NnAAYDVohmtpM083.jpg


你可能感兴趣的:(排序,sort)