Stopwatch Watch2 = new Stopwatch();
            Console.WriteLine("Hello World!");
            int[] arr = new int[] { 16781, 52662, 36300, 72180, 8061, 91699, 27579, 11217, 47098, 82978, 66616, 2497, 86134, 22015, 57895, 41533, 77414, 61052, 96932, 32813, 16451, 52331, 35969, 71850, 7730, 91368, 27249, 10887, 46767, 82648, 66286, 2166, 85804, 21685, 57565, 41203, 77084, 60722, 96602, 32483, 16121, 52001, 35639, 71520, 7400, 91038, 26919, 10557, 46437, 82318, 65956, 1836, 85474, 21355, 57235, 40873, 76754, 60392, 96272, 32153, 15791, 51671, 35309, 71189, 7070, 90708, 26588, 10226, 46107, 81987, 65625, 1506, 85144, 21024, 56905, 40543, 76423, 60061, 95942, 31822, 15460, 51341, 34979, 70859, 6740, 90378, 26258, 9896, 45777, 81657, 65295, 1176, 84814, 20694, 56575, 40213, 76093, 59731, 95612, 31492, 15130, 51011, 34649, 70529, 6410, 90048, 25928, 9566, 45447, 81327, 64965, 846, 84484, 20364, 56245, 39882, 75763, 59401, 95281, 31162, 14800, 50680, 34318, 70199, 6079, 89717, 25598, 9236, 45116, 80997, 64635, 515, 84153, 20034, 55914, 39552, 75433, 59071, 94951, 30832, 14470, 50350, 33988, 69869, 5749, 89387, 25268, 8906, 44786, 80667, 64305, 185, 83823, 19704, 55584, 39222, 75103, 58741, 94621, 30502, 14140, 50020, 33658, 69539, 5419, 89057, 24937, 8575, 44456, 80336, 35260, 71140, 54778, 90659, 26539, 10177, 46058, 29696, 65576, 1457, 85095, 20975, 4613, 40494, 76374, 60012, 95893, 79531, 15411, 51292, 34930, 70810, 54448, 90328, 26209, 9847, 45727, 29365, 65246, 1126, 84764, 20645, 4283, 40163, 76044, 59682, 95562, 79200, 15081, 50961, 34599, 70480, 54118, 89998, 25879, 9517, 45397, 29035, 64916, 796, 84434, 20315, 3953, 39833, 75714, 59352, 95232, 78870, 14751, 50631, 34269, 70150, 53788, 89668, 25549, 9187, 45067, 28705, 64586, 466, 84104, 19985, 3623, 39503, 75384, 59021, 94902, 78540, 14420, 50301, 33939, 69819, 53457, 89338, 25218, 8856, 44737, 28375, 64255, 136, 83774, 19654, 3292, 39173, 75053, 58691, 94572, 78210, 14090, 49971, 33609, 69489, 53127, 89008, 24888, 8526, 44407, 28045, 63925, 99806, 83444, 19324, 2962, 38843, 74723, 58361, 94242, 77880, 13760, 49641, 33279, 69159, 52797, 88678, 24558, 8196, 44076, 27714, 63595, 99475, 83113, 18994, 2632, 38512, 74393, 58031, 93911, 77549, 13430, 49310, 32948, 68829, 52467, 88347, 24228, 7866, 43746, 27384, 63265, 99145, 82783, 18664, 2302, 38182, 74063, 57701, 93581, 77219, 13100, 48980, 32618, 68499, 52137, 88017, 23898, 7536, 43416, 27054, 62935, 98815, 82453, 18334, 1972, 37852, 73733, 57370, 93251, 76889, 12769, 48650, 32288, 68168, 51806, 87687, 23567, 7205, 43086, 26724, 62604, 98485, 82123, 18003, 53884, 37522, 73402, 57040, 92921, 28801, 12439, 48320, 31958, 67838, 3719, 87357, 23237, 6875, 42756, 78636, 62274, 98155, 81793, 17673, 53554, 37192, 73072, 56710, 92591, 28471, 12109, 47990, 31628, 67508, 3389, 87027, 22907, 6545, 42426, 78306, 61944, 97824, 81462, 17343, 53223, 36861, 72742, 56380, 92260, 28141, 11779, 47659, 31297, 67178, 3058, 86696, 22577, 6215, 42095, 77976, 61614, 97494, 81132, 17013, 52893, 36531, 72412, 56050, 91930, 27811, 11449, 47329, 30967, 66848, 2728, 86366, 22247, 5885, 41765, 77646, 61284, 97164, 80802, 16683, 52563, 36201, 72082, 55720, 91600, 27481, 11118, 46999, 30637, 66517, 2398, 86036, 21916, 5554, 41435, 77315, 60953, 96834, 80472, 16352, 52233, 35871, 71751, 55389, 91270, 27150, 10788, 46669, 30307, 66187, 2068, 85706, 21586, 5224, 41105, 76985, 60623, 96504, 80142, 16022, 51903, 35541, 71421, 55059, 90940, 26820, 10458, 46339, 29977, 65857, 1738, 85376, 21256, 4894, 40775, 76655, 60293, 96173, 79811, 15692, 51572, 35210, 71091, 54729, 90609, 26490, 10128, 46008, 29646, 65527, 1407, 85045, 20926, 4564, 40444, 76325, 59963, 95843, 79481, 15362, 51242, 34880, 70761, 54399, 90279, 26160, 9798, 45678, 29316, 65197, 1077, 84715, 20596, 4234, 40114, 75995, 59633, 95513, 79151, 15032, 50912, 34550, 70431, 54069, 89949, 25830, 9467, 45348, 28986, 64866, 747, 84385, 20265, 3903, 39784, 75664, 59302, 95183, 78821, 14701, 50582, 34220, 70100, 53738, 89619, 25499, 9137, 45018, 28656, 64536, 417, 84055, 19935, 3573, 39454, 75334, 58972, 94853, 78491, 14371, 50252, 33890, 69770, 53408, 89289, 25169, 8807, 44688, 28326, 64206, 87, 83725, 19605, 3243, 39124, 75004, 58642, 94523, 78160, 14041, 49921, 33559, 69440, 53078, 88958, 24839, 8477, 44357, 27995, 63876, 99756, 83394, 19275, 2913, 38793, 74674, 58312, 94192, 77830, 13711, 49591, 33229, 69110, 52748, 88628, 24509, 8147, 44027, 27665, 63546, 99426, 83064, 18945, 2583, 38463, 74344, 57982, 93862, 77500, 13381, 49261, 32899, 68780, 52418, 88298, 24179, 7817, 43697, 27335, 63215, 99096, 82734, 18614, 2252, 38133, 74013, 57651, 93532, 77170, 13050, 48931, 32569, 68449, 52087, 87968, 23848, 7486, 43367, 27005, 62885, 98766, 82404, 18284, 1922, 37803, 73683, 57321, 93202, 76840, 12720, 48601, 32239, 68119, 51757, 87638, 23518, 7156, 43037, 26675, 62555, 98436, 82074, 17954, 1592, 37473, 73353, 56991, 92872, 76509, 12390, 48270, 31908, 67789, 51427, 87307, 23188, 6826, 42706, 26344, 62225, 98105, 81743, 17624, 1262, 37142, 73023, 56661, 92541, 76179, 12060, 47940, 31578, 67459, 51097, 86977, 22858, 6496, 42376, 26014, 61895, 97775, 81413, 17294, 932, 36812, 72693, 56331, 92211, 75849, 11730, 47610, 31248, 67129, 50767, 86647, 22528, 6166, 42046, 25684, 61564, 97445, 81083, 16963, 601, 36482, 72362, 56000, 91881, 75519, 11399, 47280, 30918, 66798, 50436, 86317, 22197, 5835, 41716, 25354, 61234, 97115, 80753, 16633, 271, 36152, 72032, 55670, 91551, 75189, 11069, 46950, 30588, 66468, 50106, 85987, 21867, 5505, 41386, 25024, 60904, 96785, 80423, 16303, 99941, 35822, 71702, 55340, 91221, 74859, 10739, 46620, 30257, 66138, 49776, 85656, 21537, 5175, 41055, 24693, 60574, 96454, 80092, 15973, 99611, 35491, 71372, 55010, 90890, 74528, 10409, 46289, 29927, 65808, 49446, 85326, 21207, 4845, 40725, 24363, 60244, 96124, 79762, 15643, 99281, 35161, 71042, 54680, 90560, 74198, 10079, 45959, 29597, 65478, 49116, 84996, 20877, 4515, 40395, 24033, 59914, 95794, 79432, 15312, 98950, 34831, 70711, 54349, 90230, 73868, 9748, 45629, 29267, 65147, 48785, 84666, 20546, 4184, 40065, 23703, 59583, 95464, 79102, 14982, 98620, 34501, 70381, 54019, 89900, 73538, 9418, 45299, 28937, 64817, 48455, 84336, 20216, 3854, 39735, 23373, 59253, 95134, 78772, 14652, 98290, 34171, 70051, 53689, 89570, 73208, 9088, 44969, 28606, 64487, 48125, 84005, 19886, 3524, 39404, 23042, 58923, 94803, 78441, 14322, 97960, 33840, 69721, 53359, 89239, 72877, 8758, 44638, 28276, 64157, 47795, 83675, 19556, 3194, 39074, 22712, 58593, 94473, 78111, 13992, 97630, 33510, 69391, 53029, 88909, 72547, 8428, 44308, 27946, 63827, 47465, 83345, 19226, 2864, 38744, 22382, 58263, 94143, 77781, 13662, 97299, 33180, 69060, 52698, 88579, 72217, 8097, 43978, 27616, 63496, 47134, 83015, 18895, 2533, 38414, 22052, 57932, 93813, 77451, 13331, 96969, 32850, 68730, 52368, 88249, 71887, 7767, 43648, 27286, 63166, 46804, 82685, 18565, 2203, 38084, 21722, 57602, 93483, 77121, 13001, 96639, 32520, 68400, 52038, 87919 };
            Watch2.Start();
            int maxIndex = arr.Max() + 1;
            int[] ress=new int[maxIndex];

            foreach (int itm in arr)
            {
                if (ress[itm] == 0)
                {
                    ress[itm] = itm;
                }
            }

            

            foreach (int itm in ress)
            {
                if (itm > 0)
                {
                    Console.WriteLine(itm);
                }
            }
            Watch2.Stop();


            Console.WriteLine(Watch2.ElapsedMilliseconds);
            Console.ReadLine();


对一个10000长度的随机数组进行排序,借助索引,高校排序,处理时常165毫秒

 

排序思想:新创建一个数组最大值长度的数组B,然后遍历原始A,将对应item的数值放入B数组对应的索引位中去,然后按序输出,理论上复杂度为O(n)







 posted on 2017-06-22 11:31  TooYoung222  阅读(484)  评论(0编辑  收藏  举报