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

двусвязный список - C++

Восстановить пароль Регистрация
 
LeXeR93
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 4
20.04.2011, 19:49     двусвязный список #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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <time.h>
#include <locale>
using namespace std;
struct Node {
int a;
Node *next, *prev;
};
Node X;
 
void add(Node *X, int b) //написал ф-ию добавления новых элементов, 
//но помоему это больше для односвязного, помогите переделать
{
    while((X->next)!=NULL)
        X=X->next;
    X->next = new Node; 
    X->next->a=b;
    X->next->next=NULL;
}
void show(Node *X)//ф-ия для вывода на экран слева направо
{
    if (X->next==NULL)
        cout << "Список отсутствует" << endl;
    else
    {
        cout << "Элементы списка ";
        while(X->next!=NULL)
        {
            cout << X->next->a << " ";
            X=X->next;
        }
    }
}
void main()
{ 
    setlocale (LC_ALL, "Russian");
    srand( (unsigned)time( NULL ) );
    int b,action;
    unsigned int n;
 
while (1)
    {               
        cout <<"1. Добавить Элемент\n";
        cout <<"2. Просмотр Списка Слева Направо\n";
        cout <<"3. Просмотр Списка Справа Налево\n";
        cout <<"4. Удалить Голову\n";
        cout <<"5. Удалить Хвост\n";
        cout <<"6. Поиск Элемента\n";
        cout <<"0. Выход\n\n";
        cout <<"Ваш Выбор: ";
        cin >> action;
 
        if (action == 0)
        {
            break;
        }
        if (action == 1)
        {
 
            cout << endl << "Введите количество элементов ";
            cin >> n;
            if (n==0)
            {
                cout << "Очередь пуста " << endl;
                main();
                return;
            }
            for (unsigned int i=1; i<=n; i++)
            {
                b=(rand() % 50);
                add(&X,b);
            }
        }
                      if (action == 2)
        {show (&X);
        }
 
        if (action > 6)
        {
            cout<<"\t!!! неверный выбор, повторите ввод!!!\n\n";
            continue;
        }
    }
мне нужно еще сделать функции:
1)для Просмотра Списка Справа Налево
2) для удаления с голову
3) для удаления с хвоста
4) и для поиска элемента
Помогите пожалуйста, или хотя бы подскажите где посмотреть
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2011, 19:49     двусвязный список
Посмотрите здесь:

Двусвязный список C++
C++ Двусвязный список
двусвязный список C++
Переделать двусвязный список в двусвязный кольцевой C++
Двусвязный список C++
Двусвязный список (в конец двусвязного списка добавить другой список) C++
Двусвязный список C++
Сформировать список из 10 работников, используя динамическую структуру данных двусвязный список C++

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

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

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