Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /*Don't freak, is just a long init table!
- **Please note that it is kinda sorted in ascending way and the result of sort should be something like
- **... ...
- ** 5 10
- ** 7 8
- ** 3 8
- */
- typedef struct MATCHES {
- short size=439;
- short values[439][2]={ { 3, 8 },
- { 5, 10 },
- { 7, 8 },
- { 2, 11 },
- { 1, 12 },
- { 10, 13 },
- { 14, 18 },
- { 15, 16 },
- { 18, 22 },
- { 1, 30 },
- { 11, 25 },
- { 21, 28 },
- { 22, 33 },
- { 29, 34 },
- { 31, 37 },
- { 17, 21 },
- { 13, 40 },
- { 5, 41 },
- { 34, 42 },
- { 20, 46 },
- { 41, 47 },
- { 42, 48 },
- { 34, 43 },
- { 37, 45 },
- { 48, 54 },
- { 50, 52 },
- { 35, 46 },
- { 47, 61 },
- { 34, 55 },
- { 55, 56 },
- { 1, 57 },
- { 57, 59 },
- { 54, 69 },
- { 66, 67 },
- { 35, 65 },
- { 70, 71 },
- { 69, 78 },
- { 34, 79 },
- { 40, 75 },
- { 81, 84 },
- { 33, 85 },
- { 54, 82 },
- { 42, 82 },
- { 34, 83 },
- { 84, 87 },
- { 75, 88 },
- { 85, 89 },
- { 78, 90 },
- { 86, 91 },
- { 5, 86 },
- { 89, 95 },
- { 62, 91 },
- { 93, 98 },
- { 88, 100 },
- { 95, 101 },
- { 62, 102 },
- { 5, 98 },
- { 90, 113 },
- { 102, 114 },
- { 103, 115 },
- { 105, 116 },
- { 74, 114 },
- { 116, 127 },
- { 105, 123 },
- { 61, 132 },
- { 126, 133 },
- { 127, 134 },
- { 74, 137 },
- { 134, 139 },
- { 139, 146 },
- { 61, 137 },
- { 147, 149 },
- { 148, 150 },
- { 151, 154 },
- { 155, 161 },
- { 157, 164 },
- { 158, 160 },
- { 159, 161 },
- { 132, 167 },
- { 164, 169 },
- { 113, 172 },
- { 170, 175 },
- { 165, 176 },
- { 116, 178 },
- { 167, 182 },
- { 175, 184 },
- { 176, 185 },
- { 177, 186 },
- { 172, 192 },
- { 113, 183 },
- { 185, 194 },
- { 187, 195 },
- { 178, 196 },
- { 190, 198 },
- { 181, 200 },
- { 182, 201 },
- { 196, 204 },
- { 203, 210 },
- { 192, 214 },
- { 209, 210 },
- { 204, 217 },
- { 100, 201 },
- { 214, 220 },
- { 146, 217 },
- { 146, 204 },
- { 220, 228 },
- { 61, 233 },
- { 146, 235 },
- { 123, 238 },
- { 233, 239 },
- { 238, 243 },
- { 234, 247 },
- { 240, 242 },
- { 105, 243 },
- { 235, 250 },
- { 192, 220 },
- { 256, 258 },
- { 228, 259 },
- { 214, 257 },
- { 228, 260 },
- { 220, 263 },
- { 264, 266 },
- { 265, 267 },
- { 100, 239 },
- { 228, 274 },
- { 268, 273 },
- { 276, 278 },
- { 287, 294 },
- { 288, 295 },
- { 295, 302 },
- { 298, 299 },
- { 228, 304 },
- { 300, 310 },
- { 301, 311 },
- { 294, 312 },
- { 301, 302 },
- { 288, 303 },
- { 312, 321 },
- { 302, 322 },
- { 228, 325 },
- { 321, 330 },
- { 273, 292 },
- { 328, 337 },
- { 330, 338 },
- { 302, 329 },
- { 326, 336 },
- { 329, 348 },
- { 288, 349 },
- { 333, 340 },
- { 338, 368 },
- { 351, 362 },
- { 379, 389 },
- { 378, 401 },
- { 394, 395 },
- { 329, 406 },
- { 393, 404 },
- { 235, 384 },
- { 1, 417 },
- { 400, 426 },
- { 93, 427 },
- { 420, 430 },
- { 421, 432 },
- { 295, 425 },
- { 427, 436 },
- { 435, 449 },
- { 437, 451 },
- { 417, 452 },
- { 442, 444 },
- { 443, 445 },
- { 436, 462 },
- { 396, 456 },
- { 407, 462 },
- { 451, 468 },
- { 452, 469 },
- { 463, 470 },
- { 441, 464 },
- { 468, 479 },
- { 469, 480 },
- { 480, 491 },
- { 481, 482 },
- { 487, 492 },
- { 493, 499 },
- { 382, 396 },
- { 473, 495 },
- { 329, 508 },
- { 295, 329 },
- { 473, 514 },
- { 295, 509 },
- { 1, 517 },
- { 382, 526 },
- { 338, 460 },
- { 514, 540 },
- { 528, 541 },
- { 537, 548 },
- { 526, 551 },
- { 295, 546 },
- { 540, 566 },
- { 561, 562 },
- { 295, 562 },
- { 565, 574 },
- { 473, 540 },
- { 473, 568 },
- { 295, 570 },
- { 564, 574 },
- { 575, 585 },
- { 550, 587 },
- { 586, 595 },
- { 292, 551 },
- { 295, 599 },
- { 588, 597 },
- { 599, 605 },
- { 295, 600 },
- { 611, 612 },
- { 473, 613 },
- { 295, 627 },
- { 1, 628 },
- { 617, 624 },
- { 625, 636 },
- { 338, 590 },
- { 625, 626 },
- { 578, 637 },
- { 292, 641 },
- { 637, 646 },
- { 641, 652 },
- { 651, 665 },
- { 652, 666 },
- { 654, 655 },
- { 657, 668 },
- { 646, 669 },
- { 250, 356 },
- { 664, 672 },
- { 598, 675 },
- { 295, 677 },
- { 292, 682 },
- { 666, 683 },
- { 675, 686 },
- { 655, 687 },
- { 598, 676 },
- { 100, 682 },
- { 667, 693 },
- { 653, 686 },
- { 338, 407 },
- { 292, 653 },
- { 697, 710 },
- { 698, 711 },
- { 646, 701 },
- { 600, 702 },
- { 703, 715 },
- { 702, 704 },
- { 584, 720 },
- { 707, 724 },
- { 407, 715 },
- { 338, 715 },
- { 407, 703 },
- { 491, 730 },
- { 717, 731 },
- { 1, 732 },
- { 1, 720 },
- { 725, 726 },
- { 736, 737 },
- { 698, 700 },
- { 338, 751 },
- { 742, 743 },
- { 745, 755 },
- { 646, 758 },
- { 752, 754 },
- { 732, 761 },
- { 708, 745 },
- { 1, 761 },
- { 742, 768 },
- { 703, 779 },
- { 693, 706 },
- { 706, 773 },
- { 781, 791 },
- { 783, 797 },
- { 686, 801 },
- { 778, 788 },
- { 791, 806 },
- { 793, 794 },
- { 755, 812 },
- { 801, 814 },
- { 776, 817 },
- { 711, 818 },
- { 818, 828 },
- { 751, 805 },
- { 819, 820 },
- { 806, 830 },
- { 806, 822 },
- { 703, 821 },
- { 706, 823 },
- { 827, 837 },
- { 828, 838 },
- { 804, 839 },
- { 833, 842 },
- { 824, 843 },
- { 839, 846 },
- { 676, 847 },
- { 693, 834 },
- { 706, 843 },
- { 824, 844 },
- { 646, 855 },
- { 491, 855 },
- { 683, 810 },
- { 292, 814 },
- { 864, 879 },
- { 865, 880 },
- { 874, 882 },
- { 875, 883 },
- { 872, 880 },
- { 895, 904 },
- { 847, 875 },
- { 880, 900 },
- { 902, 915 },
- { 838, 916 },
- { 909, 918 },
- { 1, 921 },
- { 706, 914 },
- { 923, 924 },
- { 927, 932 },
- { 929, 930 },
- { 646, 939 },
- { 706, 942 },
- { 943, 944 },
- { 646, 954 },
- { 950, 965 },
- { 842, 966 },
- { 875, 972 },
- { 842, 977 },
- { 969, 981 },
- { 972, 983 },
- { 842, 985 },
- { 973, 984 },
- { 988, 990 },
- { 875, 890 },
- { 890, 972 },
- { 890, 1003 },
- { 973, 1010 },
- { 1008, 1016 },
- { 1016, 1017 },
- { 1008, 1027 },
- { 693, 1026 },
- { 1, 1033 },
- { 810, 1034 },
- { 1037, 1044 },
- { 972, 1053 },
- { 1039, 1058 },
- { 1056, 1066 },
- { 1056, 1058 },
- { 1003, 1055 },
- { 1059, 1060 },
- { 693, 1067 },
- { 693, 1077 },
- { 641, 1085 },
- { 693, 1078 },
- { 1, 1090 },
- { 693, 1091 },
- { 810, 1085 },
- { 641, 810 },
- { 1081, 1094 },
- { 1092, 1093 },
- { 721, 761 },
- { 1100, 1112 },
- { 1105, 1106 },
- { 883, 1119 },
- { 1113, 1115 },
- { 904, 916 },
- { 1111, 1131 },
- { 1133, 1141 },
- { 1137, 1143 },
- { 1135, 1148 },
- { 1142, 1150 },
- { 1143, 1151 },
- { 292, 1137 },
- { 1150, 1158 },
- { 1151, 1159 },
- { 1154, 1163 },
- { 1159, 1168 },
- { 1160, 1169 },
- { 1163, 1171 },
- { 1170, 1174 },
- { 1171, 1175 },
- { 1173, 1178 },
- { 1180, 1182 },
- { 1, 1191 },
- { 1184, 1194 },
- { 1137, 1197 },
- { 1186, 1187 },
- { 1195, 1205 },
- { 1199, 1214 },
- { 1205, 1218 },
- { 1207, 1219 },
- { 1207, 1208 },
- { 1180, 1231 },
- { 1, 1219 },
- { 1137, 1220 },
- { 1221, 1232 },
- { 1227, 1234 },
- { 972, 1055 },
- { 972, 1220 },
- { 1214, 1233 },
- { 1225, 1236 },
- { 1208, 1236 },
- { 646, 1225 },
- { 1239, 1241 },
- { 1191, 1243 },
- { 1, 1243 },
- { 1244, 1246 },
- { 1243, 1247 },
- { 1, 1247 },
- { 1248, 1250 },
- { 1252, 1254 },
- { 1247, 1255 },
- { 1, 1255 },
- { 1259, 1260 },
- { 1261, 1263 },
- { 1262, 1264 },
- { 1260, 1269 },
- { 1265, 1272 },
- { 1265, 1266 },
- { 1266, 1267 },
- { 1268, 1273 },
- { 1264, 1270 },
- { 1264, 1272 },
- { 1273, 1280 },
- { 1276, 1277 },
- { 1269, 1275 },
- { 1270, 1275 },
- { 1270, 1282 },
- { 1279, 1283 },
- { 1225, 1287 },
- { 1275, 1290 },
- { 1286, 1292 },
- { 1286, 1287 },
- { 1272, 1288 },
- { 1225, 1294 },
- { 1285, 1289 },
- { 1208, 1292 },
- { 1287, 1294 },
- { 1, 1295 } };
- } MATCHES;
- int partition(MATCHES **data, int left, int right, int pivot, int col){
- int temp;
- int i;
- int storeIndex = left;
- int pivotVal = (**data).values[pivot][col];
- (**data).values[pivot][col] = (**data).values[right][col];
- (**data).values[right][col] = pivotVal;
- for(i = left; i < right; i++){
- if ((**data).values[i][col] >= pivotVal){ //Change this to greater then and BOOM we're done
- temp = (**data).values[i][col];
- (**data).values[i][col] = (**data).values[storeIndex][col];
- (**data).values[storeIndex][col] = temp;
- storeIndex++;
- }
- }
- temp = (**data).values[storeIndex][col];
- (**data).values[storeIndex][col] = (**data).values[right][col];
- (**data).values[right][col] = temp;
- return storeIndex;
- }
- void quickSort(MATCHES **vec, int left, int right, int col) {
- int r;
- if (right > left) {
- r = partition(vec, left, right, right+1/2, col);
- quickSort(vec, left, r - 1, col);
- quickSort(vec, r + 1, right, col);
- }
- }
- void sorter(MATCHES *table) {
- quickSort(&table, 0, (*table).size-1, 0);
- quickSort(&table, 0, (*table).size-1, 1);
- }
- int main () {
- MATCHES table;
- int i;
- printf("Unsorted\n");
- for (i=0; i<table.size; i++)
- printf("%d %d\n",table.values[i][0],table.values[i][1]);
- sorter(&table);
- printf("Sorted\n");
- for (i=0; i<table.size; i++)
- printf("%d %d\n",table.values[i][0],table.values[i][1]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement