Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 1
Регистрация: 27.09.2016
Сообщений: 10
1

В пользовательском классе List (список) реализовать вставку элемента после заданного элемента

04.11.2016, 13:19. Просмотров 426. Ответов 2
Метки нет (Все метки)


Помогите пожалуйста, мне надо сделать вставку элемента после найденного, а у меня элемент добавляется на место первого элемента.
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
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <list>
#include <locale.h>
using namespace std;
 
class List
{
private:
    int info;
    List *prev, *next, *begin, *end, *t;
public:
    List(){
        info = 0;
        prev = next = begin = end = t = 0;
    }
    void f_add();
    void end_add();
    void poisk();
    void del();
    void show();
};
 
void List::f_add()
{
    cout << "Добавление вначало, ведите элемент который вы хотите добавить: ";
    List *t = new List;
    cin >> t->info;
    t->prev = t->next;
    begin = end = t;
    cout << endl;
}
.....
void List::insert()
{
       cout<<"Добавление элемента после элемента: ";
    int ip=0;
    cin>>ip;
    List*key=NULL;
    t=begin; 
    while(t!=NULL)
    {
        if(t->info=ip)
        {
        key=t;
        cout<<"Введите элемент: ";
       cin>>t->info;
       t->prev=key;
    t->next=key->next;
    key->next=t;
    break;
    if(key!=end)
    {
    (t->next)->prev=t;
    }
    else end=t;
    cout<<endl;
        }
        else
        t=t->next;
    }
    if(key=NULL)
    {
        cout<<"Не найдено";
    }
    t=new List;
    cin>>info;
    &t->info;
    t->begin;
 
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2016, 13:19
Ответы с готовыми решениями:

Вставка элемента в линейный односвязный список после заданного
Я составила программу, но возникла проблема с реализацией вставки элемента после указанного...

Функция: вставка элемента в двусвязный список после заданного
Всем доброго времени суток! Нужно написать функцию вставки элемента в двусвязный список после...

Функция, которая возвращает список булевских значений четности каждого элемента заданного элемента целочисленного списка
Определите рекурсивные функции для решения задачи. НЕ РЕКОМЕНДУЕТСЯ использовать функции высших...

Сортировка в классе List по добавлению элемента
Мне нужно в методе push класса List добавлять элемент и сортировать список методом простых вставок,...

2
8 / 8 / 5
Регистрация: 30.09.2014
Сообщений: 93
04.11.2016, 13:48 2
Ну, вообще, коль уж вы
Цитата Сообщение от qazplm Посмотреть сообщение
#include <list>
То почему бы не использовать контейнер list из библиотеки STL? В противном случае этот хэдер Вам здесь не нужен
0
0 / 0 / 1
Регистрация: 27.09.2016
Сообщений: 10
04.11.2016, 13:57  [ТС] 3
Вот немного подкорректировала,но все равно работает по прежнему не так как надо
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
void List::insert()
{
       cout<<"Добавление элемента после элемента: ";
    int ip=0;
    cin>>ip;
    List*key=NULL;
    t=begin; 
    while(t!=NULL)
    {
        if(t->info=ip)
        {
        key=t;
        t = t->next;
       break;
        cout<<"Введите элемент: ";
       cin>>t->info;
       t->prev=key;
    t->next=key->next;
    key->next=t;
    break;
    if(key!=end)
    {
    (t->next)->prev=t;
    }
    else end=t;
    cout<<endl;
        }
        else
        t=t->next;
    }
    if(key=NULL)
    {
        cout<<"Не найдено";
    }
        }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2016, 13:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Линейный односвязный список: реализовать добавление элемента после узла с заданным ключом
Здравствуйте, кто может понять это задание добавление элемента после узла с заданным ключем...

Добавление нового элемента в список после указанного элемента по значению информационного поля
Добавление нового элемента в список после указанного элемента по значению информационного поля.

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента
Добавить в класс &quot;Односвязный список&quot; следующие функции: вставка элемента в заданную позицию,...

Реализовать в пользовательском классе дружественную функцию согласно условию
Помогите пожалуйста, много задач за день прорешал и эту уже не понимаю(( Дан класc. Добавьте...


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

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

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