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

Не получается связать очередь с сортировкой - C++

Восстановить пароль Регистрация
 
Славуся
3 / 3 / 1
Регистрация: 22.11.2012
Сообщений: 27
14.06.2014, 00:10     Не получается связать очередь с сортировкой #1
Пожайлустаааа помогите!!
Имеется очередь с 1 головой и сортировка распределяющий подсчет, так вот вопорс в следующем, как связать сортировку и очередь?

сортировка

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
ListCountingSort
    for i = 0 to k - 1
        C[i] = NULL;
    for i = 0 to n - 1
        C[A[i].key].add(A[i]);
    b = 0;
    for j = 0 to k - 1
        p = C[j];
        while p != NULL
            A[b] = p.data;
            p = p.next();
            b = b + 1;
очередь

C++ (Qt)
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 <iostream>
using namespace std;
 
struct element{
int num;
element* pNext;
};
 
struct ochered{
element *pHead;
element *pTail;
ochered();
~ochered();
int Count;
void Add(int numIn);//добавить элемент в очередь
bool pop(int &numOut);
void getnum(int &numOut);
void show(ochered *temp);
void Make_Empty(); // сделать очередь пустой
bool is_Empty()// проверка на пустоту очереди
{
    return !pHead;
};
};
 
 
ochered::ochered()
{
    pHead = NULL;
    pTail = NULL;
    Count=0;
}
 
ochered::~ochered()
{
    Make_Empty();
}
 
void ochered::Add(int numIn)
{
    element *a = new element;
    a->num=numIn;
    a->pNext = NULL;
    if(!pTail)
    {
        pHead = pTail = a;
    }
    else
    {
        pTail->pNext = a;
        pTail = a;  
    }
    Count++;
}
 
 
 
bool ochered::pop(int &numOut)
{
    if(!pTail) return false;
        if(!pHead->pNext)
        {
            delete pHead;
            pHead = pTail = NULL;
        }
        else
        {
            element *temp = pHead->pNext;
            delete pHead;
            pHead = temp;
        }
    Count--;
return true;
}
 
 
 
void ochered::getnum(int &numOut)
{
    numOut = pHead->num;
}
 
 
void ochered::Make_Empty()
{
    int temp;   
    while(pop(temp));
    pHead = pTail = NULL;
}
 
 
 
void ochered::show(ochered *temp) // вывести на экран очередь
{
    element *a = temp->pHead;
    element *b = temp->pHead;
    while(a)
    {
        cout << a->num << " ";
        b = a->pNext;
        a = b;
    }
}


Буду очень балгодарен и очень признателен тому кто поможет!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2014, 00:10     Не получается связать очередь с сортировкой
Посмотрите здесь:

C++ траблы с сортировкой
C++ фильтрация с сортировкой
Не понятно с сортировкой! C++
Задача на очередь (вывод сообщения, что очередь пуста) C++
Цикл с сортировкой C++
C++ Очередь (сделать очередь, чтобы добавляло, удаляло, читало. Не STL.)
Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди C++
Очередь, теория. Очередь на шести стеках C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru