1. Список говнокодов пользователя anime-girl

    Всего: 1

  2. Си / Говнокод #29288

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    void sort(void *a, int n, int size, int (*cmp)(const void*, const void*)) {
    	int j;
    	if (n <= 1) return;
    	if (n == 2) {
    		if (cmp(a + size*1, a)) {
    			for (j = 0; j < size; j++) {
    				SWAP(*(char*)(a + j + size), *(char*)(a + j));
    			}
    		}
    		return;
    	}
    	int d, p = 0, i;
    	for (i = 1; i < n; i++) {
    		if (cmp(a + size*i, a + size*(i-1))) { d = i; goto sorting; }
    	}
    	return;
    sorting:
    	static char buf[128];
    	memcpy(buf, a + size*d, size);
    	for (i = 0; i < n; i++) {
    		if (!cmp(buf, a + i*size)) {
    			for (j = 0; j < size; j++) {
    				SWAP(*(char*)(a + j + i*size), *(char*)(a + j + p*size));
    			}
    			p++;
    		}
    	}
    	sort(a, p, size, cmp);
    	sort(a+p*size, n-p, size, cmp);
    }

    Попросили по программированию в универе написать сортировку на С. Написал.

    anime-girl, 15 Октября 2026

    Комментарии (30)