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

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

Войти
Регистрация
Восстановить пароль
 
Jenia
Сообщений: n/a
#1

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

13.05.2012, 17:30. Просмотров 360. Ответов 0
Метки нет (Все метки)

начал изучать двусвязный список, так как надо сдать лабу по этой теме, но не очень хорошо понимаю его организацию, помогите пожалуйста, мне нужно доделать добавление и удаление элемента в любое место двусвязного списка, вот я написал как создать список, вывести на экран, обход слева направо и справо налево.......
#include "List.h"
#include <iostream>
const int n=10;
using namespace std;

list::list()
{
pHead=NULL;
pPrev=NULL;
countElem=0;
}
void list::create(Type data)
{
Node *temp=new Node;
if(pHead==NULL)
{
temp->pred=NULL;
temp->next=NULL;
pHead=temp;
}
else
pPrev->next=temp;
temp->data=data;
temp->next=NULL;
temp->pred=pPrev;
pPrev=temp;
countElem++;
}
void list:rint()
{
Node *pTemp=pHead;
int i=0;
while(pTemp!=NULL)
{
cout<<i++<<"\n";
pTemp=pTemp->next;
}
cout<<endl;
}
void list::obhod_sleva()
{
while(pHead!=NULL)
{
cout<<pHead->data<<"\n";
if(pHead->next==0)
break;
pHead=pHead->next;
}
}
void list::obhod_sprava()
{
while(pPrev!=NULL)
{
cout<<pPrev->data<<"\n";
if(pPrev->pred==0)
break;
pPrev=pPrev->pred;
}
}
void list::addHead(int n)
{
Node *temp=new Node;
temp->pred=0;
temp->data=n;
temp->next=pHead;
if(pHead=0)
pHead->pred=temp;
if(countElem==0)
pHead=pPrev=temp;
else
pHead=temp;
countElem++;
}
Ну здесь идёт реализация самих функций, так как реализовывал двусвязный список через библиотеку.........

List.h
#include <iostream>
using namespace std;
typedef int Type;
struct Node
{
Type data;
Node *next;
Node *pred;
};
struct list
{
Node *pHead;
Node *pPrev;
int countElem;
list();
void create(Type);
void print();
void obhod_sleva();
void obhod_sprava();
void addHead(int n);
void addPrev(int c);
void insert(int pos);
void del();
};
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2012, 17:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Двусвязный список (C++):

Переделать двусвязный список в двусвязный кольцевой - C++
Здравствуйте, у меня єсть двусвязный список однако он не кольцевой! как это запрограммировать? и второй вопрос как обеспечить вставку...

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

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

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

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

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2012, 17:30
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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