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

Отсортировать динамический односвязный список - C++

Восстановить пароль Регистрация
 
evelolka
 Аватар для evelolka
2 / 2 / 0
Регистрация: 25.10.2013
Сообщений: 108
25.03.2014, 18:16     Отсортировать динамический односвязный список #1
его можно сортировать с помощью указателей. а как не разберусь
помогите подправить


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
#include<Windows.h>
#include <clocale>
#include <conio.h>
#include<iostream>
using namespace std;
struct WORKER
    {
        char family[20], name[20], dolzhnost[20];
        int god;
        WORKER * next;
    };
    WORKER * head = 0;
    WORKER * current = 0;
    char c;
    int s=0;
int main()
{
    setlocale(LC_ALL,"RUS");
   SetConsoleCP(1251);// установка кодовой страницы win-cp 1251 в поток ввода
   SetConsoleOutputCP(1251); // установка кодовой страницы win-cp 1251 в поток вывода
    cout<<"ввести данные ? (д/н)";
    c = _getche();
    
    while(c == 'д')
        {s++;
            if (head!=0) 
                { 
                    current -> next = new WORKER; 
                    current = current -> next; 
                }
            else     
                { 
                    head = new WORKER; 
                    current = head;   
                }
 
            cout << "\nВведите имя\n";
            cin >> current -> name;
            cout << "Введите фамилию\n";
            cin >> current -> family;
            cout << "Введите должность\n";
            cin >> current -> dolzhnost;
            cout << "Введите год поступления на работу\n";
            cin >> current -> god;
            current -> next = 0;
            cout << "Ввести данные?(да/нет)\n";
            c = _getche();
        }
 
    
    //////////////////////////////////////сортировка  по году принятия на работу////////////////////////////////////////////////
    current=head;
    WORKER*tmp = new WORKER;
    if(current != 0)
        {
            while(current -> next != 0)
                {
                    do
                    {
                        if( (current -> god) > (current -> next -> god) )
                            {
                                tmp = current;
                                current = current -> next;
                                current -> next = tmp;
                            }
                    }while(current -> next != 0);
                    current = current -> next;
                }
        }
    //////////////////////////////////////////////////////////////////////////////////////////////
    if(head)
    {
        current = head;
        while( current != 0 )
        {
            cout<<"\nимя- "<<current->name<<"\n"<<"фамилия- "<<current->family<<"\n"<<"Должность- "<<current->dolzhnost<<"\n"<<"Год поступления- "<<current->god<<"\n";
        current=current->next;
        }
    }
    else
        cout<<"\nничего не введено\n";
system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2014, 18:16     Отсортировать динамический односвязный список
Посмотрите здесь:

Как отсортировать односвязный список???? C++
C++ Односвязный список
Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке C++
Односвязный список C++
Односвязный список C++
C++ Односвязный список
C++ Сформировать список из 10 книг, используя динамическую структуру данных односвязный список
Создать динамический шаблонный класс односвязный список - List C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 03:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru