Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Derevensky
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 14
Завершенные тесты: 2
1

Сортировка списка пузырьком

21.12.2016, 13:29. Просмотров 762. Ответов 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include "iostream" 
 
 
using namespace std; 
 
typedef struct linkedList 
{ 
int data; 
linkedList *next = nullptr; 
}linkedList; 
 
void showLinkedList(linkedList* head) 
{ 
linkedList* tmp = head->next; 
while (tmp != nullptr) { 
printf("%d ", tmp->data); 
tmp = tmp->next; 
} 
printf("\n"); 
} 
void deletElem(linkedList* head, linkedList* elem) 
{ 
linkedList* tmp = head->next; 
while(tmp->next != nullptr) 
{ 
 
if(tmp->next == elem) 
{ 
if(tmp->next->next == nullptr) 
{ 
tmp->next = nullptr; 
} 
else { 
linkedList* tmpNext = tmp->next->next; 
tmp->next = tmpNext; 
tmp->next->next = nullptr; 
} 
 
} 
tmp = tmp->next; 
} 
} 
 
void pushBack(linkedList* head, int nodeValue) 
{ 
linkedList* tmp = head; 
while (tmp->next != nullptr) { 
tmp = tmp->next; 
} 
linkedList* newNode = new linkedList; 
tmp->next = newNode; 
newNode->next = nullptr; 
newNode->data = nodeValue; 
 
} 
 
void bubleSort(linkedList* head) 
{ 
linkedList* tmp = head->next; 
linkedList* tmp2 = head->next; 
while (tmp != nullptr) { 
tmp2 = head; 
while (tmp2->next != nullptr) { 
if (tmp2->data > tmp2->next->data) { 
int a = tmp2->next->data; 
tmp2->next->data = tmp2->data; 
tmp2->data = a; 
} 
tmp2 = tmp2->next; 
} 
 
tmp = tmp->next; 
} 
} 
 
linkedList* findByValue(linkedList* head,int value) 
{ 
linkedList* tmp = head->next; 
while (tmp != nullptr) { 
if(tmp->data == value) 
{ 
return tmp; 
} 
tmp = tmp->next; 
} 
return nullptr; 
} 
 
int main() 
{ 
linkedList* head = new linkedList; 
pushBack(head, -5); 
pushBack(head, -5); 
pushBack(head, 2); 
 
bubleSort(head); 
showLinkedList(head); 
 
return 0; 
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2016, 13:29
Ответы с готовыми решениями:

Сортировка списка пузырьком
Привет, я пытаюсь сделать сортировку пузырьком списка, но программа не идет. В чем ошибка? void...

Сортировка односвязного списка пузырьком
Сортирую список по убыванию пузырьком (он заполняется 46 случайными числами от 1 до 26) Смысл...

Сортировка пузырьком двусвязного списка
необходимо отсортировать двусвязный список сортировкой пузырьком.замена элементов работает...

Сортировка списка пузырьком по убыванию
Правильно ли составлен цикл для сортировки списка пузырьком по убыванию? tElem *mylist; bool...

Сортировка пузырьком связного списка
Доброго времени суток, надеюсь на вашу помощь в понимании проблемы при сортировке пузырьком...

1
Maxim Prishchepa
Эксперт С++
1929 / 1041 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
21.12.2016, 13:37 2
Алгоритмы сортировок
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2016, 13:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сортировка пузырьком
Привет всем! У меня по методу вопросов нет, успешно отсортировал от меньшего к большему, но вот от...

Сортировка Пузырьком :)
Привет, ребята :) Вообщем, наткнулся на написание программы с использованием сортировки пузырьком....

Сортировка пузырьком
Требуется отсортировать пузырьком элементы массива, которые находятся на непарных позициях.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.