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

Сортировка ЛОС - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Класс-динамический массив... http://www.cyberforum.ru/cpp-beginners/thread156875.html
Нужен такой класс. А как его лучше написать? Через связанные списки? Нужно, чтобы он был "быстрым"... Основные методы: установка размера, удаление, доступ к элементам... Главное чтобы при изменении размера не пропадало содержимое... Может уже существует готовый?
C++ Строковый анализатор Подскажите почему код выдает всякий мусор, подает звуковые сигналы Должен работать так: Если введешь так: "11/23/34" или "11.23.34" или "11.23/34", то должен получить 11 23 34 #include "stdafx.h" #include <conio.h> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread156874.html
Шифровальщик паролей C++
Здравствуйте, уважаемые гуру и более другие программисты. Я, как видно из моего ника, полный нуб. Это обидно. А ведь очень хочется разобраться, как эта куча железяк работает изнутри. Я пару дней тщетно штудировл поиск, но толку было мало. У меня есть Visual 2008, я научился компилить программу плана cout<<"HELLO WORLD"; да и вообще много чего в консоли. Но вот дальше полный затык....
C++ ООП - вопрос про деструктор
#include <iostream> class oop { int a; char * name; public: oop(char *,int); ~oop(); void show();
C++ Таймеры не работают http://www.cyberforum.ru/cpp-beginners/thread156831.html
делаю программу без всяких mfc и afc пробовал и void OnTimer(UINT nIDEvent) { logfile_f("\non TIMER CAME!\n"); MessageBox(NULL, TEXT("on Test!"), TEXT("Yes2!"), 0); }
C++ Обращение к данным класса. Доброе время суток. Начал самостоятельно изучать классы. Хотел выполнить задание, но возникла первая трудность. #include <iostream> class Rectangle { public: Rectangle (); //int Perimeter (int, int); подробнее

Показать сообщение отдельно
Fedogor
209 / 95 / 4
Регистрация: 23.07.2010
Сообщений: 235
02.08.2010, 09:58     Сортировка ЛОС
Вот пример сортировки списка отсюда:

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
typedef struct NODE {
        int value;
        struct NODE * next;
} node_t;
 
node_t * new_node(int val, node_t * last){
        node_t * n;
        if ( ( n = (node_t*)malloc(sizeof(node_t)) ) == NULL )
                return NULL;
        n->value = val;
        n->next = NULL;
        if ( last )
                last->next = n;
        return n;
}
 
node_t * min_node(node_t * n){
        node_t * minNode = n;
        while ( n = n->next )
                if ( n->value < minNode->value )
                        minNode = n;
        return minNode;
}
 
void swap_vals(node_t * a, node_t * b){
        int val;
        val = a->value;
        a->value = b->value;
        b->value = val;
}
 
void sort_nodes(node_t * n){
        node_t * minNode;
        while ( n->next ){
                if ( ( minNode = min_node(n) ) != n )
                        swap_vals(n, minNode);
                n = n->next;
        }
}
 
void print_nodes(const node_t * n){
        while ( n ){
                printf("%02d ", n->value);
                n = n->next;
        }
        printf("\n");
}
 
void delete_nodes(node_t * n){
        node_t * t;
        while ( n ){
                t = n->next;
                free(n);
                n = t;
        }
}
 
int main(void){
        node_t * first, * last;
        int needed;
 
        first = last = NULL;
        printf("Nodes needed: ");
        if ( scanf("%d", &needed) != 1 || needed < 1 ){
                fprintf(stderr, "Wrong number!\n");
                exit(EXIT_FAILURE);
        }
 
        srand(time(NULL));
        while ( needed-- ){
                if ( ( last = new_node(rand() % 100, last) ) == NULL ){
                        fprintf(stderr, "Can't create a new node!\n");
                        exit(EXIT_FAILURE);
                }
                if ( ! first )
                        first = last;
        }
 
        if ( ! first ){
                fprintf(stderr, "Shit happens!\n");
                exit(EXIT_FAILURE);
        }
 
        printf("Unsorted:\n");
        print_nodes(first);
 
        sort_nodes(first);
 
        printf("Sorted:\n");
        print_nodes(first);
 
        delete_nodes(first);
        exit(EXIT_SUCCESS);
}
 
Текущее время: 11:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru