0 / 0 / 1
Регистрация: 27.09.2016
Сообщений: 10
1

Почему не работает сортировка? (кольцевой список)

12.12.2016, 20:12. Показов 588. Ответов 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
101
102
103
104
105
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cctype>
#include <fstream>
#include <conio.h>
#include <stdio.h>
using namespace std;
// ---------------------------------------------------------------------------
 
struct List {
    int data;
    List *prev, *next;
};
 
typedef List* ListPtr;
void InsertHead(ListPtr & h, int a);
ListPtr form(char nf[]);
void ShowList(List * h);
void Sort(ListPtr &h);
 
// ************************************************************
void InsertHead(ListPtr &h, int a) {
    ListPtr tmp = new List;
    tmp->data = a;
    tmp->next = tmp->prev = h;
    h = tmp;
}
 
ListPtr form(char nf[]) {
    ifstream F;
    ListPtr h = NULL, t;
    F.open(nf);
    if (F.fail()) {
        cout << "error";
        getch();
        exit(1);
    }
    int a;
    F >> a;
    h = new List;
    h->data = a;
    h->next = h->prev = NULL;
    t = h;
    while (F >> a) {
        t->next = new List;
        t->next->prev = t;
        t = t->next;
        t->data = a;
        t->next = NULL;
    }
    F.close();
    return h;
}
 
void ShowList(List *h) {
    List *tmp = h;
    cout << "spisok" << endl;
    while (tmp != NULL) {
        cout << tmp->data << " ";
        tmp = tmp->next;
    }
    cout << endl;
}
 
void Sort(ListPtr &h ) {
    ListPtr t;
    int x;
    //cout<<"h="<<h;
    t = h->next;
    while (t) {
        x = t->data;
        //cout << "x=" <<x<<endl;
      ListPtr b = t->prev;
        while (b != NULL && x < b->data)
           {b->next->data=b->data;
            b=b->prev;
                    }
        if (b == NULL) h->data=x;
     else b->next->data=x;
       t=t->next;
            }  }
void main() {
 
    char file[5][50] = {
        "D:/kurs/1.txt", "D:/kurs/2.txt", "D:/kurs/3.txt"
    };
    int N = 2, i;
    ListPtr P[10];
    for (i = 0; i < N; i++) {
        P[i] = form(file[i]);
    }
    for (i = 0; i < N; i++) {
        cout << i << '.';
        ShowList(P[i]);
 
    }
    for (i = 0; i < N; i++) {
        cout << i << '.';
        Sort(P[i]);
        ShowList(P[i]);
    }
 
    getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2016, 20:12
Ответы с готовыми решениями:

Кольцевой односвязный список, сортировка
Помогите, пожалуйста, с сортировкой списка. #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using...

Почему выводится в виде таблицы и почему не работает сортировка
почему выводится в виде таблицы? почему не работает сортировка? и как туда можно вставить классы...

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

Почему сортировка не работает?
кто подскажет в чем проблема.почему не сортирует? #include &lt;stdio.h&gt; int main() { int...

1
sourcerer
12.12.2016, 22:04     Почему не работает сортировка? (кольцевой список)
  #2
 Комментарий модератора 
qazplm, пожалуйста, прочитайте правила форума.
Особое внимание обратите на следующие пункты:
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2016, 22:04

Почему не работает сортировка
Здравствуйте, нужно отсортировать по алфавиту ФИО, что не так я не делаю? Подскажите!!!! Помогите...

Почему не работает сортировка?
#include &lt;stdio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { char s; //...

Почему не работает Сортировка выбором?
Не понимаю, почему не работает данный код. Был бы очень благодарен, если бы кто-нибудь объяснил ...

Почему не работает такая сортировка?
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; ...

Почему не работает сортировка выбором?
Sub Test1() For i = 0 To 9 For j = i + 1 To 9 If ActiveSheet.Cells(0, i)...

Почему неправильно работает сортировка?
сортировка: for i := 1 to n-1 do begin if gruppa1.grupa&gt;gruppa1.grupa then begin ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru