Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Виды сортировок

Автор: Evernes 21.12.2006 22:03

Даны три сортировки: Сортировка вставками, сортировка Шелла, Быстрая сортировка...
Надо написать примеры программ с использованием этих сортировок (3 программы), на turbo c...
Если кто знает, помогите плиз!
Заранее большое спасибо!!! give_rose.gif

Автор: volvo 21.12.2006 22:07

Переводи на С:
http://forum.pascal.net.ru/index.php?s=&showtopic=3065&view=findpost&p=27327

Автор: Evernes 21.12.2006 23:29

В нэте на Паскале полно исходников, а вот на turbo c ни одного.... Вот я и попросил на С написать, потому что сам не знаю как... mega_chok.gif

Если не трудно может кто нидь на С написать... good.gif

Автор: volvo 21.12.2006 23:55

Вот тебе пример программы:

#include <stdio.h>

static void swap(int *ar, int i, int j) {
int T = ar[i]; ar[i] = ar[j]; ar[j] = T;
}

void quick_sort(int *ar, int low, int high) {

if(low < high) {

int lo = low;
int hi = high + 1;
int value = ar[low];

for( ;; ) {
while(ar[++lo] < value);
while(ar[--hi] > value);

if(lo < hi) swap(ar, lo, hi);
else break;
}

swap(ar, low, hi);
quick_sort(ar, low, hi - 1);
quick_sort(ar, hi + 1, high);

}

}

int main() {

int i, array[10] = {10, 7, 3, 5, 9, 2, 3, 7, 1, 0};

printf("\nbefore:\n");
for(i = 0; i < 10; ++i) printf("%d ", array[i]);
quick_sort(array, 0, 9);
printf("\nafter:\n");
for(i = 0; i < 10; ++i) printf("%d ", array[i]);

return 0;
}


Цитата
В нэте на Паскале полно исходников, а вот на turbo c ни одного...
А я тебе не ИСКАТЬ в Net-е, а перевести самому предложил, кстати... Но ты, как я посмотрю, не хочешь палец о палец ударить? Все тебе на блюдечке надо (или ссылку, или - готовую программу)? Ну, дело твое...

Автор: Evernes 22.12.2006 0:19

Ну почему палец о палец не хочу ударить? Просто я в turbo C совсем не разбираюсь ( после изучения Паскаля отойти не могу), а препод тока по С и спрашивает...

Спасибо за пример и за ссылочку тоже!!! А то я на форуме искал, найти не мог...