Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Сортировка массива произвольного типа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ текстовый редактор http://www.cyberforum.ru/cpp-beginners/thread304993.html
void TextBuf::SetText (char *str) { int i, a = 0; delete this->text; while (str != '\0'); this->text = new char; for (i = 0; i <= a; i++) this->text = str; } char* TextBuf::GetText ()
C++ Проблеьный символ Подскажите,есть ли особый код который компилятор разпознает как символ?? Читаю с файла в струкутру,но вот что делать если мне нужно прочитать пробленый символ?? Добавлено через 36 минут Ап... http://www.cyberforum.ru/cpp-beginners/thread304974.html
C++ Стеки на С!
Создать стек для символов. Максимальный размер стека вводится с экрана. Создать функции для ввода и вывода элементов стека. Добавлять символы в стек поочередно справа и слева. В случае совпадения...
C++ Функция для нахож. кол-ва элементов вектора размером 5
С помощью функции, которая находит количество положительных элементов вектора размером 5, вычислить среднее количество положительных элементов матрицы 5х4, приходящихся на одно поле. Чтот я не...
C++ Вывести слова, встречающиеся в тексте по одному разу http://www.cyberforum.ru/cpp-beginners/thread304954.html
C++ Вывести слова, встречающиеся в тексте по одному разу.... подскажите мысль...или все чем можете помочь! Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что...
C++ Как быть, если в шаблоне классе предполагается использование ОДИНАКОВЫХ типов? Вот код, понятно, демонстрационныый, упрощён донельзя для понятности. #include <windows.h> #include <iostream> using namespace std; template <class T, class t> class lin_ur { public: ... подробнее

Показать сообщение отдельно
reeer24
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 3

Сортировка массива произвольного типа - C++

25.05.2011, 22:56. Просмотров 512. Ответов 1
Метки (Все метки)

Помогите разобраться!
зачем swap и memswap для сортировки в этой программе

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
inline void swap(char& a, char& b)// Обмениваем элементы двух объектов 
{
  char temp=a;
  a=b;
  b=temp;
}
void memswap(char* a, char* b, size_t sz) {
  for (int k=0; k<sz; k++)
    swap(*a++,*b++);
}
 
void ssort(void* base, size_t n, size_t sz, CMP cmp)//сортируем массив символьного типа
{
  for (int i=1; i<n; i++)
   for (int j=n-1; j>=i; j--)
   {
     char* bj=(char*)base + j*sz;
     if (cmp(bj,bj-sz))
       memswap(bj,bj-sz,sz);
   }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru