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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LeXeR93
0 / 0 / 0
Регистрация: 16.04.2011
Сообщений: 4
#1

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

20.04.2011, 19:49. Просмотров 375. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста организовать двусвязный список
вот то, что я напрограммировал:
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++
Здравствуйте, у меня єсть двусвязный список однако он не кольцевой! как это запрограммировать? и второй вопрос как обеспечить вставку...

Сформировать список из 10 работников, используя динамическую структуру данных двусвязный список - C++
спасайте Сформировать список из 10 работников, используя динамическую структуру данных двусвязный список. Информация о работнике...

Двусвязный список (в конец двусвязного списка добавить другой список) - C++
здравствуйте, подскажите пожалуйста, как в конец двусвязного списка добавить другой список?

Составить двусвязный список на основе класса, объекты которого будут формировать этот список - C++
Составить двусвязный список на основе класса, объекты которого будут формировать этот список. В описание класса должны входить данные для...

Создать двусвязный список групп факультета, где каждая группа представляет собой односвязный список студентов - C++
Задание: создайте двусвязный список групп факультета. Каждая группа представляет собой односвязный список студентов. Помогите пожалуйста,...

Двусвязный список - C++
Вот решил написать двусвязный список. Написаны только две функции решил попробовать работает или нет, оказалось, что нет. Компилятор...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2011, 19:49
Привет! Вот еще темы с ответами:

Двусвязный список - C++
Привет, народ. Помогите плиз найти ошибку. #include &quot;iostream&quot; #include &quot;cmath&quot; using namespace std; struct elem { int...

Двусвязный список - C++
Подскажите в чем ошибка, почему не выводит элементы списка в обратном порядке (выводит только один элемент) #include &lt;fstream&gt; ...

Двусвязный список - C++
Здравствуйте, никак не могу разобраться с двусвязным списком, нашел код для разбора в интернете, но не могу понять, что необходимо писать...

Иерархия классов "Структура - Список - Кольцевой Двусвязный список" - C++
Неделю назад получил задание и срок выполнения до конца мая. Разработка иерархии классов. Структура - Список - Кольцевой Двусвязный...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru