|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.09.2012, 19:20 | #1 |
Регистрация: 04.04.2011
Сообщений: 4
|
многопоточный сортировщик метод слияние
Ребят помогите переделать данный код в многопотоковый. Запускаю в терминале Ubuntu, все четко выводит, теперь надо многопотоковым. Или дайте ссылку про "многопоточный сортировщик метод слияние". Буду примного благодарен
Код:
Последний раз редактировалось Stilet; 20.09.2012 в 20:12. |
21.09.2012, 09:23 | #2 |
Регистрация: 04.04.2011
Сообщений: 4
|
#include<stdio.h>
#include<stdlib.h> #define n 20 int merge(int *, int , int , int); int mergeSort (int *, int , int); int main() { int *a; int i; a = ( int* ) malloc ( n*sizeof(int) ); for ( i = 0; i < n; i++ ) { *(a+i)=rand()%100; printf( "%i ", *(a+i) ); } printf("\n"); printf( "\nAfter sorting\n" ); printf("\n"); *a=mergeSort(a, 0, n-1); for ( i = 0; i < n; i++ ) { printf( "%i ", *(a+i) ); } free(a); return 0; } int merge (int *arr, int a, int split, int b) { int pos1 = a; int pos2 = split + 1; int pos3 = 0; int *temp; temp = (int*) malloc ( ( b-a+1 ) *sizeof(int) ); while (pos1 <= split && pos2 <= b) { if ( *(arr + pos1) < *(arr + pos2) ) { *( temp+pos3 ) = *( arr+pos1 ); pos3++; pos1++; } else { *( temp+pos3 ) = *( arr+pos2 ); pos3++; pos2++; } } while ( pos2 <= b ) { *( temp+pos3 ) = *( arr+pos2 ); pos3++; pos2++; } while ( pos1 <= split ) { *( temp+pos3 ) = *( arr+pos1 ); pos3++; pos1++; } for ( pos3 = 0; pos3 < b-a+1; pos3++ ) *( arr + a + pos3) = *( temp + pos3 ); free(temp); return *arr; }//////////////////////////////////////////// merge int mergeSort(int *arr, int a, int b) { int split; if (a < b) { split = (a + b)/2; mergeSort (arr, a, split); mergeSort (arr, split+1, b); merge (arr, a, split, b); } return *arr; } Вычитал из кучи книженцев и получилось это. Я вляется ли многопотоковым данный код? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
c#. Многопоточный сервер | tiger | Помощь студентам | 1 | 13.09.2012 13:24 |
ПЕРЕСТАЕТ РАБОТАТЬ СОРТИРОВЩИК | Cone | Microsoft Office Excel | 5 | 10.08.2010 16:36 |
Сортировщик медиа-файлов нужен. | dim3740 | Фриланс | 3 | 30.03.2010 17:29 |
Требуется сортировщик медиа-файлов (за вознаграждение) | dim3740 | Помощь студентам | 0 | 28.03.2010 08:36 |
Многопоточный Ping | Квэнди | Работа с сетью в Delphi | 0 | 18.12.2006 15:01 |