Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
8 / 8 / 2
Регистрация: 08.03.2014
Сообщений: 101
1

Сортировка ЛОС

10.11.2014, 15:30. Показов 650. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем, помогите разобраться в сортировке ЛОСа. Код полностью рабочий кроме функции сортировки. Не могу понять в чем ошибка.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
 
using namespace std;
 
class Data{
public:
    string stringKey;
    int intKey;
};
 
class node
{
public:
    Data data;
    node *next;
};
 
 
node* pushBack(node *head, Data elem)           
{
    node *ptr = new node;
    ptr->next = 0;
    ptr->data = elem;
    if (head == 0)
        head = ptr;
    else
    {
        node *temp = head;
        while (temp->next)
            temp = temp->next;
        temp->next = ptr;
    }
    return head;
}
 
void print(node *head)
{
    cout << "\n\n";
    node *ptr = head;
    while (ptr)
    {
        cout <<ptr->data.stringKey << "\t" << ptr->data.intKey << endl;
        ptr = ptr->next;
    }
}
 
node* Sort(node* p)
{
    node* p1 = p, *p2 = 0;
    for (p2 = p; p2; p2 = p2->next)
    {
        for (p1 = p; p1->next; p1 = p1->next)
        {
            if (p1->data.intKey > p1->next->data.intKey)
            {
                iter_swap(p1->data, p1->next->data);
            }
        }
    }
    return p1;
}
 
void inputData(Data &data)
{
    cout << "\n\nstringKey:\t"; cin >> data.stringKey;
    cout << "intKey:\t\t"; cin >> data.intKey;
}
 
void menu()
{
    cout << "      MENU";
    cout << "\n\n1   - show list";
    cout << "\n2   - add element";
    cout << "\n8   - sort";
    cout << "\nESC - Exit";
}
 
int main()
{
    node *list = 0;              //список
    char menuKey = '0';
    while (menuKey != 27)
    {
        system("cls");
        menu();
        menuKey = _getch();
 
        switch (menuKey)
        {
        case '1': {
            print(list);
            _getch();
        } break;
        case '2': {
            Data data;
            inputData(data);
            list = pushBack(list, data);
        } break;
 
        case '8':{
            list = Sort(list);
            print(list);
        }break;
        }
    }
 
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.11.2014, 15:30
Ответы с готовыми решениями:

Сортировка ЛОС
Подскажите, как можно реализовать функцию шаблон сортировки элементов линейного однонаправленного...

ЛДС в ЛОС
У меня есть код на удаление элемента по определенному ключу в двухсвязном списке void lds::del()...

Вставка элемента в ЛОС
Считать линейный односвязный список из файла. Вставить новый элемент перед каждым вхождением...

Добавление и удаление- Линейный однородный список (ЛОС)
Здравствуйте!Помогите написать методы добавления нового элемента в ЛОС и удаления из ЛОС.Очень...

3
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
10.11.2014, 15:36 2
эм...как минимум мне не понятно в этой функции сортировки почему p1 указывает туда же , куда и p2 в начале, тогда уже p1=p2->next; ну и сравнивать p2 с p1==p2->next
0
8 / 8 / 2
Регистрация: 08.03.2014
Сообщений: 101
10.11.2014, 15:37  [ТС] 3
Выделяет swap_iter(), говоря "error C2100: недопустимое косвенное обращение"
0
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
10.11.2014, 15:44 4
а почему вообще iter_swap() тут используется в отношении data ...?
0
10.11.2014, 15:44
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2014, 15:44
Помогаю со студенческими работами здесь

Подсчитать количество и порядковые номера элементов ЛОС, значения информационных полей которых
Здравствуйте, помогите пожалуйста с задачей. Подсчитать количество и порядковые номера элементов...

Сортировка выбором, сортировка вставкой, сортировка заменой, сортировка обменом ("пузырьковая" сортировка)
Создать класс, содержащий массив и реализующий алгоритмы сортировки и бинарного поиска в этом...

Блок схема.Сортировка «Пузырьком», Сортировка методом «Последовательных перестановок», Сортировка «Вставками»
Помогите, нужны блок схемы Сортировка «Вставками» Program Vstavka; uses dos; Type mass=array ...

Разработать программу сортировки: сортировка перестановкой, сортировка вставкой, быстрая сортировка
Задание: Разработать программу сортировки: - сортировка перестановкой - сортировка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции. / / . . .
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru