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

Сортировка списка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Непонятки с модификатором const http://www.cyberforum.ru/cpp-beginners/thread554941.html
Допустим я перегружаю оператор присваивания для создаваемого класса Array. В учебнике предлагается вот такая сигнатура данной перегрзки: SArray const & SArray::operator=(SArray const & right) Как ни удивительно, но все работает. Модификатор const (для возвращаемого значения) указывается по мнению автора для того, чтобы отлавливать вот такие ситации (a1=a2)=a3. Хорошо допустим. Но как тогда...
C++ Поиск и запись в файл Подскажите,пожалуйста,в чем ошибка.Неправильно идет поиск. #include <iostream> #include <conio.h> #include <locale> #include <fstream> using namespace std; class Hotel { char *country, *name; http://www.cyberforum.ru/cpp-beginners/thread554939.html
торрент ссылка с рабочей программой с++ C++
Помогите мне найти нормальную ссылочку тореент для скачивания программы с++ так как мне друг дал ету программу я ее установил пытаюсь запустить нормальную простенькую програмку а компилятор ругаеться! Короче программа с глюком! Дайте пожалуйтса рабочую! Срочно нужно для работы!
Напечатать различные числа, встречающиеся в обеих последовательностях C++
Помогите составить программу: Даны две последовательности из целых чисел: a1, ..., an; b1, ..., bn. Напечатать различные числа, встречающиеся в обеих последовательностях. Тема: Одномерные массивы Вот мой вариант, но здесь печатаются не различные числа. #include <iostream> using namespace std; int main() { setlocale (LC_ALL, "rus");
C++ Поиск под слова в тексте типу string http://www.cyberforum.ru/cpp-beginners/thread554903.html
Как сделать поиск под слова в переменной типу string из рус. текстом Например если есть такое : string text = "hello world"; string word; cin >> word; // ввожу world int a = text.find(word); cout << a << endl;
C++ Разложить камни на 2 кучки так, чтобы разница масс этих кучек была минимальной. Здравствуйте, помогите, пожалуйста, решить данную ниже задачу. У Вас есть N камней с массами W1, W2 , … WN. Требуется разложить камни на 2 кучки так, чтобы разница масс этих кучек была минимальной. Входные данные В первой строке входного файла INPUT.TXT записано число N – количество камней (1 ≤ N ≤ 18). Во второй строке через пробел перечислены массы камней W1, W2 , … WN (1 ≤ Wi ≤ 105).... подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
22.04.2012, 16:15     Сортировка списка
Цитата Сообщение от HelloWrld Посмотреть сообщение
void List::Sort()
{
* * ListItem *current = first;
* * ListItem *temp;
* * current = current->next; //просто чтоб с головой не заморачиваться, сравниваю 2 и 3 эл-т
if (current->item > current->next->item){
* * * * temp = current->next;
* * * * current->next = current;
* * * * current = temp;
* * } *
}
ну, настоящую сортировку надо в цикле делать, ну ладно будем считать это наброском алгоритма,

во-вторых, у тебя тут не происходит ничего current->next = current;
эта операция превратит этот список
C++
1
2
current-----v       |--------v      |----
            |item|next|   |item|next|
в такой
C++
1
2
3
                                      тут связь потеряна
current-----v      |------|                 |----
           |item|next|<---|       |item|next|
Добавлено через 12 минут
перестановку делать надо так(меняем второй и третий местами)
C++
1
2
3
4
5
6
7
8
(pre-первый элемент, current второй, current->next третий, current->next->next четвёртый)
pre->next=current->next;//разрываем связь первого со вторым,
///////////////////////// связываем первый с третьим 
current->next=current->next->next;//разрываем связь 2го и 3го, 
////////////////////////////////////связываем второй с четвёртым
pre->next->next=current;//pre->next - бывший третий элемент
/////////////////////////разрываем его связь с четвёртым
/////////////////////////и связываем со вторым
 
Текущее время: 15:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru