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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
FrankyMO
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 90
#1

Почему данная реализация связного списка не сортируется по убыванию? - C++

25.12.2013, 08:13. Просмотров 310. Ответов 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
#include "stdafx.h"
#include <conio.h>
#include <stdlib.h>
#include <iostream>
 
using namespace std;
 
struct ch
{
    int h;
    struct ch *next;
 };
 
int main(int argc, char* argv[])
{
 
    struct ch *tmp;
    struct ch *head=NULL;
    struct ch *ends=NULL;
 
 
cout<<"Vvedite spisok. Dlya okonchaniya vvoda najat 0"<<endl;
do
      {
    tmp=new struct ch;
 
    cout<<"Vvedite chislo:"<<"     ";
    cin>>tmp->h;
    if (tmp->h==0)
{
            delete tmp;
            break;
};
 
if  (head==NULL&&ends==NULL)
    head=tmp;
 
else
 
    ends->next=tmp;
    ends=tmp;
    ends->next=NULL;
}    while(tmp!=NULL);
cout<<"Spisok:"<<endl;
tmp=head;
while (tmp!=NULL)
{
    cout<<tmp->h<<"  "<<endl;
    tmp=tmp->next ;
};
int r;
r=head->h;
head->h=ends->h;
ends->h=r;
//delete head;
//cout << "Result" << head->h;
 
tmp=head;
while (tmp != NULL)
 {
    cout << ", " << tmp->h;
    tmp=tmp->next ;
 } ;
tmp = head;
    while (tmp != NULL)
    {
        if (tmp == ends)
        ends = tmp -> next;
        head = tmp -> next;
        delete tmp;
        tmp = head;
    };
getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2013, 08:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему данная реализация связного списка не сортируется по убыванию? (C++):

Реализация связного списка - C++
надо решить задачу: Сведения о владельце автомобиля: фамилия, марка автомобиля (строки), номер автомобиля (целое число). По сведениям в...

Реализация связного списка - C++
Помогите решить задачу Нужно написать программу без использования библиотеки list я вот начал, только функция добавления не...

Связный список, в котором информация о книгах сортируется по убыванию стоимости - C++
Нужно запрограммировать связный список, в котором информация о книгах сортируется по убыванию стоимости. Есть код: #include...

Почему не сортируется массив? - C++
using namespace std; void scan(int * mass) { for( int i = 0; i &lt; 10; i++) { cin &gt;&gt; mass ; } } void print ( int * mass...

Почему не сортируется массив? - C++
Доброго времени суток уважаемые Форумчане,нужно отсортировать в порядке возрастания каждую строку матрицы, код написан, но не сортирует...

Почему не сортируется массив? - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Rus&quot;); ...

1
anmartex
...
1706 / 1199 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
25.12.2013, 14:55 #2
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
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
struct TNode {
    int value;
    TNode* next;
};
 
//-----------------------------------------------------------------------------
TNode* Push(TNode*& list, int value) {
 
    if ((list == NULL) || (list->value < value)) {
        TNode* node = new TNode;
        node->value = value;
        node->next = list;
        list = node;
    }
    else {
        Push(list->next, value);
    }
 
    return list;
}
//-----------------------------------------------------------------------------
std::ostream& operator << (std::ostream& stream, const TNode* list) {
 
    for (; list; list = list->next) {
        stream << list->value << " ";
    }
 
    return stream;
}
//-----------------------------------------------------------------------------
std::istream& operator >> (std::istream& stream, TNode*& list) {
 
    int value;
 
    while ((stream >> value) && (value)) {
        Push(list, value);
    }
 
    return stream;
}
//-----------------------------------------------------------------------------
 
int main(int argc, char* argv[]) {
 
    TNode* list = NULL;
 
    std::cout << "input digits (press 0 for exit): ";
 
    std::cin >> list;
 
    std::cout << "result: " << list << std::endl;
 
    std::system("pause");
 
    return 0;
}
Почему данная реализация связного списка не сортируется по убыванию?
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 14:55
Привет! Вот еще темы с ответами:

Почему не сортируется массив? - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int main(){ int s = 9; ...

Почему не сортируется вектор структур? - C++
Выводится ошибка c:\qtsdk\mingw\bin\..\lib\gcc\mingw32\4.4.0\include\c++\bits\stl_algo.h:89: error: passing 'const Task' as 'this' argument...

Сортировка связного списка - C++
Привет всем! как правильно написать сортировку для связного циклического списка ? помогите пожалуйста... #include &lt;iostream&gt; using...

сортировка связного списка - C++
Привет всем! пришлите пожалуйста код реализации сортировки односвязного списка (желательно с комментарием)! а то у меня совсем ничего...


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

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

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