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

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

Войти
Регистрация
Восстановить пароль
 
Alexandr93
2 / 2 / 0
Регистрация: 09.11.2010
Сообщений: 65
#1

Двунаправленный список - C++

02.03.2011, 09:47. Просмотров 691. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста удалить заданный элемент из двунаправленного списка...
Напишите как это делается
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2011, 09:47     Двунаправленный список
Посмотрите здесь:

Двунаправленный список - C++
Вот в примере елем в список добавл в конец, а как сдел чтобы они добавл в начало ? void List_2::Insert_end_list_2(int data) { Plist...

Двунаправленный список - C++
Люди, объясните пжлст, что такое двунаправленный список?

Двунаправленный список - C++
Чемпион мира по футболу. Страна, год последней победы, число побед. Сортировка по названию. Вычисление среднего числа титулов всех...

Двунаправленный список - C++
Как в этом списке поменять ввод элементов с ручного на рандомный, помогите пожалуйста? #include <iostream.h> struct tochd { ...

Двунаправленный список - C++
Вопросы: Почему ругается при таком описании, говорит ; пропустил spis_fam * Create_first(char *); //формирование первого элемента ...

Двунаправленный список - C++
Вставка элемента в список. Удалениеэлемента из списка Сортировка списка. Поиск элемента в списке.Объединение двух списков Пересечение двух...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
02.03.2011, 13:06     Двунаправленный список #2
Если не ошибаюсь, вот так. Писал с нуля, не имея перед глазами самого класса List, поэтому, возможно, что-то упустил. Если так, думаю, коллеги поправят.

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
template< typename T >
bool List< T >::delete_need_elem(const T& need)
{
    List< T > *i = _head;
    
    while (i->next != 0)
    {
        if (i->value == need)
        {
            if (i != _head)
                i->prev->next = i->next;
            
            if (i != _tail)
                i->next->prev = i->prev;
 
            delete i;
 
            return true;
        }
 
        i = i->next;
    }
 
    return false;
}
Alexandr93
2 / 2 / 0
Регистрация: 09.11.2010
Сообщений: 65
02.03.2011, 16:49  [ТС]     Двунаправленный список #3
Assembler
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
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <fstream>
#include <locale>
using namespace std;
struct point
{int key;//значение элемента структуры
point *next, *ppred;
};
 
 
point* make_point( int n)
{
point *first, *first1,*p;
first=NULL;
for (int i=n;i>0;i--)
 {
 p=new(point);//создание нового элемента структуры
 p->key=i;//значение элемента структуры
 p->next=first;//ссылается на следующий
 first=p;
 if (i!=n){
     first1=p;
     p=p->next;
     p->ppred=first1;
     p=p->ppred;};
}
p->ppred=NULL;
return first;
}
 
point* print_point(point*first)
{
if (first==NULL)return NULL;
point*p=first;
while(p!=NULL)
{
cout<<p->key<<" ";
p=p->next;
}
cout << endl;
 
return first;
}
Добавлено через 1 минуту
Вот начало программы, помогите удалить заданный элемент и добавить в конец один
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2011, 17:08     Двунаправленный список
Еще ссылки по теме:

СД Двунаправленный список - C++
Ребят помогите пожалуйста понять что значит сделать двунаправленный список используя обьектно-ориентированное программирование. Хотяб...

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

Двунаправленный список - C++
Как создать двунаправленный список из целых чисел? и как заменить повторяющиеся последовательности одним числом?

двунаправленный список - C++
Двунаправленный список.Найти сумму первого и последнего элементарных.Заранее спасибо

Двунаправленный список! - C++
Не Класс! Помогите создать список (Двунаправленный хоронящий int a ) сама проблема в том что я не пойму как организовать ссылку на...

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


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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
02.03.2011, 17:08     Двунаправленный список #4
Alexandr93, я вам уже написал код, поправьте его так, чтобы работал с вашей структурой, уберите шаблон и всё. Вставка в конех вообще никакого труда не составляет:
C++
1
2
3
4
5
6
List *new_elemt = new List;
new_elem->value = value;
tail->next = new_elem;
new_elem->prev = tail;
new_elem->next = 0;
tail = new_elem;
Yandex
Объявления
02.03.2011, 17:08     Двунаправленный список
Ответ Создать тему
Опции темы

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