1 / 1 / 2
Регистрация: 16.02.2011
Сообщений: 34
1

Вставка нового узла в двусвязный список

14.04.2011, 18:08. Показов 3182. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
процедура вставки нового узла. Вот сделала вставку в голову и в хвост. но проблема с процедурой вставки узла после текущего узла и перед ним. Помогите разобраться.


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
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <cstring>
 #include <math.h>
using namespace std;
 
 
struct stud {
  char fio [30]; // ФИО студента
  char gryppa [50]; // Название группы
  stud *prev;       // Указатель на предыдущую запись
  stud *next; // Указатель на следующую запись    
}; 
 
 
stud *first = NULL; // Указатель на начало списка
stud *last = NULL;  // Указатель на конец списка  
int List (void);  
 
void AddItem1 ()// добавление в голову
{
  stud*db=new stud;
 
  // создаем новую структуру-выделяем память
 
  // заполняем её
  cout << "Vvedite familiu: ";
  cin >> db->fio;
  cout << "Nazvanie gryppi: ";
  cin >> db->gryppa;
  // добавляем в список
  db->next = NULL;//обнуляем указатель на след элемент
  
  if(first != NULL)
  {db->next = first;
  first->prev= db;
  first=db;
  }
  
  else
  {db->prev = NULL;
    db->next = NULL;
    first = db;}
}  
  void AddItem2 (void)// в хвост
{
  stud*db=new stud;
 
  // создаем новую структуру-выделяем память
 
  // заполняем её
  cout << "Vvedite familiu: ";
  cin >> db->fio;
  cout << "Nazvanie gryppi: ";
  cin >> db->gryppa;
  // добавляем в список
  db->next = NULL;//обнуляем указатель на след элемент
  if (last != NULL) // если список уже существует
  {
    db->prev = last;
    db->next = NULL;
    last->next = db;
    last = db;
  }
  
  else              // если список ещё не создан
  {
    db->prev = NULL;
    db->next = NULL;
    first = db;
    last = db;
  };
  
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2011, 18:08
Ответы с готовыми решениями:

Двусвязный список: вставка и удаление произвольного узла
Привет всем! помогите пожалуйста ! пришлите пожалуйста кто нибудь код реализации связного списка...

Двусвязный список: вставка, удаление, просмотр
Может есть у кого-нибудь двусвязный список с вставкой, удалением, просмотром, доступу к текущему...

Вставка по номеру в двусвязный кольцевой список
Ошибка в том, что функция не вставляет элемент на первую позицию, вместо этого на последнюю. Что ни...

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

1
2021 / 1620 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
14.04.2011, 21:37 2
Нарисуйте узлы списка и связи между ними на бумаге и всё станет понятно.
0
14.04.2011, 21:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2011, 21:37
Помогаю со студенческими работами здесь

Вставка нового узла в XML
В xml такой структуры нужно вставлять новые теги field &lt;extension&gt; &lt;config&gt; &lt;fields&gt;...

Вставка нового узла в бинарное дерево
Подскажите можно ли как-то реализовать, чтобы в консоле можно было вставлять новый узел, нахождение...

Вставка нового узла в заданную позицию циклического списка
Разработать численную модель, алгоритм и программу расчета по заданной математической модели. ...

Вставка нового элемента в линейный односвязный список перед элементом с максимальным значением ключа
Привет, всем. Помогите, разобраться с добавлением нового элемента в линейный односвязный список...

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

Добавление нового узла в B-дерево
Пусть я добавляю в дерево некоторый узел, такой что он должен быть добавлен после элемента s. Но:...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru