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

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

19.06.2011, 11:19. Показов 1366. Ответов 7
Метки нет (Все метки)

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

Нужно создать линейный двусвязный список, бинарный поиск и сортировку пузырька с флажком
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons,...

Сортировать методом «пузырька» до середины - по возрастанию, после – по убыванию
Сгенерировать одномерный массив из 10 целых чисел (и положительных и отрицательных).Выполнить сортировку массива, используя следующий метод...

Сортировать элементы целочисленного массива по возрастанию «методом пузырька»
Помогите пожалуйста, у меня задание {Составьте программу, сортирующую элементы целочисленного массива по возрастанию «методом пузырька»}...

7
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
19.06.2011, 11:44
Может односвязный?
0
0 / 0 / 0
Регистрация: 19.06.2011
Сообщений: 4
19.06.2011, 12:02  [ТС]
Можно и такой..

Добавлено через 12 минут
Без классов, только структуру

Добавлено через 10 секунд
и указатели
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
19.06.2011, 12:12
Цитата Сообщение от Modeus_666 Посмотреть сообщение
Можно и такой..

Добавлено через 12 минут
Без классов, только структуру
Нет уж, давайте точно сформулируем. Однопоточный - это термин из параллельного программирования.
А односвязный - это один указатель в структуре.
0
0 / 0 / 0
Регистрация: 19.06.2011
Сообщений: 4
19.06.2011, 12:17  [ТС]
Пожалуйста сделайте однасвязный с сортировкой очень надо(
0
 Аватар для xAtom
935 / 760 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
19.06.2011, 13:42
Держи.

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
#include <stdio.h>
 
struct  lst {
     int  num;
     lst*  next;
     lst(void) : next(NULL) {}
     lst(lst* node, int data) {
        next = node;
        num = data;
     }
};
 
 
// функция по добавлению в список данных в хвост
lst*   add_back(lst*  p, int data) {
    if(! p) 
        p->next = p = new lst(NULL, data);
     else 
        p = p->next = new lst(p->next, data);
    return  p;
}
 
 
// функция возвращает размера списка
int  lsize(const lst* p)  {
    int size = 0;
    const lst*  next  = p->next;
    const lst*  end  = p->next;
    do {
        ++size;
        next = next->next;
    } while( next != end );
    return size;
}
 
 
// функция сортировки
lst*  lsort(lst* p) {
    int  size = lsize(p);
    while(1) {
        short test = 0;
        int sz = size - 1;
        for(lst* ps = p->next; sz--; ps = ps->next) {
            if( ps->num > ps->next->num ) {  
                int  tmp = ps->num;              
                ps->num = ps->next->num;      
                ps->next->num = tmp;   
                test = 1;
            }
        }
        if(! test)
             break;
    }
    return p;
}
 
 
 
// функция по удалению всего списка
void  lclear(lst* p) {
        int size = lsize(p);
        while(size--) {
             lst* tmp = p;
             p = p->next;
             delete tmp;
             tmp = NULL;
        }
}
 
 
// функция вывода
void  lprint(lst* l, const char* fmt) {
    const lst*  iter   = l->next;
    const lst*  end  = l->next;
    do {
        printf(fmt, iter->num );
        iter = iter->next;
    } while( iter != end );
}
 
 
void  main(void){
 
    lst*  l       =  NULL;
 
     // добавляем в список
    l = add_back(l,  4000);
    l = add_back(l,  2000);
    l = add_back(l,  1000);
    l = add_back(l,  -2005);
    l = add_back(l,  3000);
    l = add_back(l,  9000);
 
    // сортируем методом пузырка Кнута
    l = lsort(l);
 
    // выводим в консоль
    lprint(l, "%d, ");
 
    printf("\nsize = %d\n", lsize(l));
 
    lclear(l);
}
0
0 / 0 / 0
Регистрация: 19.06.2011
Сообщений: 4
19.06.2011, 14:41  [ТС]
Спасибо огромное!))
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
19.06.2011, 14:46
xAtom, лучше всё же хранить размер списка в переменной, а не считать его так каждый раз...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.06.2011, 14:46
Помогаю со студенческими работами здесь

В одномерном массиве сортировать элементы по возрастанию методом пузырька
ребят, задали задачки, а я в этом деле вообще не рублю. помогайте ^^ 2) в одномерном массиве сортировать элементы по возрастанию...

Отсортировать линейный массив методом "пузырька", методом прямой вставки
Дано линейный массив с N элементов. отсортировать его: методом &quot;пузыря&quot; (1), методом прямой вставки (3) ** Технические условия....

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

Вставить в линейный список перед элементом с заданным значением другой линейный список
Как можно вставить в линейный список перед элементом с заданным значением другой линейный список? Как один элемент вставлять, я знаю, а вот...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru