ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Сортировки. Help!
  #1  
Старый 07.12.2006, 14:58
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию Сортировки. Help!

Нужны 2 функции сортировки, написанные на С++ по следующим алгоритмам:

- Обменная сортировка с разделением
- Сортировка слиянием

Может у кого завалялись где, буду очень благодарен!
Нужно очень срочно (конкретно сегодня), самому писать прост нет времени.

Последний раз редактировалось nc.STRIEM; 07.12.2006 в 15:10..
 
Ответить с цитированием

  #2  
Старый 07.12.2006, 15:44
TaNkist
Участник форума
Регистрация: 06.04.2006
Сообщений: 257
Провел на форуме:
367179

Репутация: 76
По умолчанию

Сортировка с разделением
Код:
#include "iostream.h"
#include "stdio.h"

void quickSort( int *array, int L, int R ){
int i, j;
int item, temp;
	i = L;
	j = R;
	item = array[(L + R)/2];
	while ( i <= j ){
		while ( array[i] < item ) i++;
		while ( item < array[j] ) j--;
		if ( i <= j ){ 
			temp = array[i];
			array[i] = array[j];
			array[j] = temp;
			i++;
			j--;
		}
	}
	if ( L < j ) quickSort( array, L, j );
	if ( i < R ) quickSort( array, i, R );
}

void main(){
	int i, size;
	int *array;
    cout << "Quick Sort.\nEnter array dimension: ";
    cin >> size;
	array = new int[size];
    cout << "Enter " << size << " elements: ";
	for ( i = 0; i < size; i ++ ){
		cin >> array[i];
	}

	quickSort( array, 0, size - 1 );

	cout << "Your array after sorting: ";
	for ( i = 0; i < size; i ++ ){
		cout << array[i] << " ";
	} 
    cout << "\nPress \"Enter\" to continue..." << endl; 
    getchar();
}
Сортировка слиянием
Код:
template<class T>
void merge(T a[], long lb, long split, long ub) {
// Слияние упорядоченных частей массива в буфер temp
// с дальнейшим переносом содержимого temp в a[lb]...a[ub]

  // текущая позиция чтения из первой последовательности a[lb]...a[split]
  long pos1=lb;

  // текущая позиция чтения из второй последовательности a[split+1]...a[ub]
  long pos2=split+1;

  // текущая позиция записи в temp
  long pos3=0;  

  T *temp = new T[ub-lb+1];

  // идет слияние, пока есть хоть один элемент в каждой последовательности
  while (pos1 <= split && pos2 <= ub) {
    if (a[pos1] < a[pos2])
      temp[pos3++] = a[pos1++];
    else
      temp[pos3++] = a[pos2++];
  }

  // одна последовательность закончилась - 
  // копировать остаток другой в конец буфера 
  while (pos2 <= ub)   // пока вторая последовательность непуста 
    temp[pos3++] = a[pos2++];
  while (pos1 <= split)  // пока первая последовательность непуста
    temp[pos3++] = a[pos1++];

  // скопировать буфер temp в a[lb]...a[ub]
  for (pos3 = 0; pos3 < ub-lb+1; pos3++)
    a[lb+pos3] = temp[pos3];

  delete temp[ub-lb+1];
}
Не уверен, что это точно такие сортировки, какие тебе нужны. Посмотри еще http://algolist.manual.ru/sort/
 
Ответить с цитированием

  #3  
Старый 07.12.2006, 15:54
Dronga
ВАША реклама ТУТ!!
Регистрация: 01.07.2005
Сообщений: 647
Провел на форуме:
3478464

Репутация: 714


Отправить сообщение для Dronga с помощью ICQ
По умолчанию

Найди на последнем DVD-хакера, который 9Гб, там все алгоритмы сортировок на С и на Pascal. У кого есть, выложите где-нить, многим пригодится, линк сюда.
__________________
My ICQ: 296@463@859 ONLY!! Please check your list!!
И здесь могла бы быть ВАША реклама!!!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Социальная инженерия. Профессиональное программирование. Последовательный взлом dinar_007 Болталка 15 23.12.2008 12:30
Внедрение Sql кода с завязанными глазами, часть 2 k00p3r Чужие Статьи 0 12.06.2005 20:45



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ