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

Как правильно сделать список - C++

Восстановить пароль Регистрация
 
balrak
6 / 6 / 1
Регистрация: 01.04.2012
Сообщений: 81
15.07.2012, 14:48     Как правильно сделать список #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
#include <iostream>
#include <windows.h>
 
struct BList{
  PWCHAR fullName;
  PWCHAR name;
  PWCHAR hash;
  BList *next;
  BList *prev;
  ULONG pId;
};
 
void PushBL(BList* ListHead, BList* Entry)
{
    ListHead->next = Entry;
    Entry->prev = ListHead;
    BList *next = ListHead->next;
    next->next = NULL;
}
 
BList* PopBL(BList* ListHead)
{
    BList* prevStr = (ListHead->prev);
    prevStr->next = NULL;
    return ListHead;
}
 
void main()
{
    BList notepad, wind;
    notepad.fullName = L"NotePad.exe";
    wind.fullName = L"Wind.exe";
    PushBL(&notepad, &wind);
    BList *p = &notepad;
    while(p->next)
        printf("%ws", p->fullName);
 
}
как правильно сделать список ?
Я не знаю как создать один элемент который будет хранить в себе весь список .
или может как по по другому надо делать
подскажите
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21440 / 10225 / 1666
Регистрация: 12.02.2012
Сообщений: 17,105
15.07.2012, 14:56     Как правильно сделать список #2
Вместо:

C++
1
BList notepad, wind;
надо писать:

C++
1
2
BList notepad=new BList;
BList wind = new BList;
balrak
6 / 6 / 1
Регистрация: 01.04.2012
Сообщений: 81
15.07.2012, 15:39  [ТС]     Как правильно сделать список #3
а можно как то без new
я дальше хочу такую же структуру в драйвер кинуть
Catstail
Модератор
 Аватар для Catstail
21440 / 10225 / 1666
Регистрация: 12.02.2012
Сообщений: 17,105
16.07.2012, 10:51     Как правильно сделать список #4
Можно. Но теряется смысл списка - динамической структуры данных.

Добавлено через 3 часа 7 минут
Кстати, я ошибся! Пропустил звездочку. Твоя запись правильная, моя - нет. Чтобы создать список, как динамическую структуру данных, ячейки нужно создавать динамически. Это делается так:

C++
1
2
BList *notepad=new BList;
BList *wind = new BList;
Обращаться к полям ячейки, созданной оператором new, можно так: wind->pId=...
Yandex
Объявления
16.07.2012, 10:51     Как правильно сделать список
Ответ Создать тему
Опции темы

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