Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
46 / 1 / 0
Регистрация: 12.12.2011
Сообщений: 27

Создать линейный двунаправленный список, упрорядоченный по убыванию

31.03.2012, 21:14. Показов 2337. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать линейный двунаправленный список, упрорядоченный по убыванию.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.03.2012, 21:14
Ответы с готовыми решениями:

Двунаправленный линейный список
Нужно сделать из двунаправленного линейного списка, циклический и найти ср. аримфетическое. Мои попытки сделать двунаправленный циклический...

Двунаправленный линейный список
Доброго времени суток! Я перевелся на 2ой курс в институте, где изучали С++, которого у меня не было. Поэтому спрашиваю вас - что такое...

Линейный двунаправленный список
Имеются сведения о больницах:название, количество мест, количество больных. 1. Создать линейный двунаправленный список. 2....

3
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
31.03.2012, 23:11
Для размышления

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
#include <iostream>
#include <list> 
using namespace std;
int main()
{
    list<int> L;
    int n, x;
    cin >> n;
    for(int i = 0; i < n; i++)
    {
        cin >> x;
        L.push_back(x);
    }
    
    L.sort();
    L.reverse();
 
    list<int>::iterator i;
    for (i = L.begin(); i != L.end(); ++i)
    {
        cout << *i << " ";
    }
    cout << endl;
    system("pause >> null");
    return 0;
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,977
01.04.2012, 00:24
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
112
113
114
115
116
117
118
#include <stdio.h>
#include <stdlib.h>
 
typedef struct NODE {
    int value;
    struct NODE * prev;
    struct NODE * next;
} node_t;
 
typedef struct DESCLIST {
    node_t * first;
} desclist_t;
 
desclist_t * new_list(void){
    desclist_t * list;
    
    if ( ( list = (desclist_t*)malloc(sizeof(desclist_t)) ) == NULL ) 
        return NULL;
 
    list->first = NULL;
 
    return list;
}
 
void del_list(desclist_t * list) {
    node_t * tmp;
    while ( list->first ) {
        tmp = list->first->next;
        free(list->first);
        list->first = tmp;
    }
    free(list);
}
 
int insert(desclist_t * list, int value) {
    node_t * node;
 
    if ( ( node = (node_t*)malloc(sizeof(node_t)) ) == NULL )
        return -1;
    node->value = value;
 
    if ( list->first == NULL ) {
        node->prev = node->next = NULL;
        list->first = node;
    }
    else if ( list->first->value < node->value ) {
        node->prev = NULL;
        node->next = list->first;
        list->first->prev = node;
        list->first = node;
    }
    else {
        node_t * ptr = list->first;
        while ( ptr->next != NULL && ptr->next->value > node->value )
            ptr = ptr->next;
        node->prev = ptr;
        node->next = ptr->next;
        if ( ptr->next )
            ptr->next->prev = node;
        ptr->next = node;
    }
 
    return 0;
}
 
void dump(desclist_t * list) {
    node_t * node;
 
    if ( list->first == NULL )
        return;
    for ( node = list->first; node != NULL; node = node->next )
        printf("%d ", node->value);
 
    printf("\n");
}
 
void reversedump(desclist_t * list) {
    node_t * node;
 
    if ( list->first == NULL )
        return;
    for ( node = list->first; node->next != NULL; node = node->next )
        ;
    while ( node ) {
        printf("%d ", node->value);
        node = node->prev;
    }
 
    printf("\n");
}
 
int main(void){
    desclist_t * list;
    int value;
 
    if ( ( list = new_list() ) == NULL ) {
        fprintf(stderr, "Memory error!\n");
        exit(1);
    }
 
    printf("Enter some numbers and any nondigit symbol when done:\n");
    while ( printf("> ") && scanf("%d", &value) == 1 ) {
        if ( insert(list, value) ) {
            fprintf(stderr, "Memory error!\n");
            exit(1);
        }
    }
 
    printf("Descendant sorted:\n");
    dump(list);
    printf("Ascendant sorted:\n");
    reversedump(list);
 
    del_list(list);
    list = NULL;
 
    exit(0);
}

Не по теме:

Нашёл косяк, исправил, для проверки сделал вывод в обратную сторону...

2
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
01.04.2012, 00:27
easybudda,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2012, 00:27
Помогаю со студенческими работами здесь

Линейный двунаправленный список
Есть такое задание: Линейный двунаправленный список, упорядоченный по возрастанию. Я реализовал Линейный однонаправленный список,...

Линейный двунаправленный список
Помогите разобраться с задачей. Задан массив из 40 случайных элементов, переписать из массива в линейный двунаправленный список чётные...

Двунаправленный линейный список на python
Всем здравствуйте. Я пишу программу реализующую двусвязный список. Вот код который у меня получился: class Node: def...

Двунаправленный линейный список строк
Двунаправленный линейный список строк. Нужно сформировать список, вывести его и добавить новые элементы. Если кто-то может помочь большое...

Линейный двунаправленный список, таблица, сортировка
Всем доброго времени суток. В очередной раз, уповаю на вашу помощь :) Нужно решить задачку. Лучше с комментариями (но и без них скажу...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru