0 / 0 / 0
Регистрация: 15.08.2018
Сообщений: 7
1

Сформировать двунаправленный список, тип информационного поля char*

23.08.2018, 20:16. Показов 1869. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, кто сможет помочь с заданием?

1. Сформировать двунаправленный список, тип информационного поля char*.
2. Распечатать полученный список.
3. Добавить в список элемент с заданным номером.
4. Распечатать полученный список.
5. Удалить список из памяти.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.08.2018, 20:16
Ответы с готовыми решениями:

Нужно создать двунаправленный список. Тип информационного поля char
Нужно добавить в список элементы с номерами 1,3,5... ______________ Даже не могу представить...

Сформировать двунаправленный список, тип информационного поля int
Нужна небольшая помощь, нужно удалить из списка все элементы с четными номерами, а у меня удаляется...

Разбить двунаправленный связной список на два по указанному значению информационного поля элемента
Может кто-нибудь помочь с решением задачи, пожалуйста. Нужно разбить двунаправленный связной список...

Сформировать идеально сбалансированное бинарное дерево, тип информационного поля - double
Привет, кто сможет помочь? 1. Сформировать идеально сбалансированное бинарное дерево, тип...

8
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359
24.08.2018, 11:11 2
Ну вот например 1 и 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
#include <iostream>
using namespace std;
struct node
{
   int data;
    node* next;
    node* prev;
};
// создание списка
void create_list(node* &top,node* &end, int n)
{
    int i;
    node* p;
    top = NULL;
    end =NULL;
    for (i=0;i<n;i++)
    {
           p=new node;
           cout<<" enter p->data=";
                cin>>p->data;
                    if (top==NULL)
        {
            top=p;
                       p->next=NULL;
                        p->prev=NULL;
            end=p;
        }
                   else
          {
                        end->next=p;
                             p->prev=end;
                          p->next=NULL;
              end=p;
           }
    }
}
// показать список
void show_list(node* top)
    {
        node* p;
                 p=top;
       while (p)
       {
          cout<<p->data<<' ';
          p=p->next;
       }
           cout<<endl;
    }
    int main(){
   int n,data, data1,data2;
       node* top_my_list,* end_my_list;
       top_my_list=NULL;
            end_my_list=NULL;
       cout<<"enter n= ";
        cin>>n;
        create_list(top_my_list,end_my_list,n);
 
        cout<<" list = ";
            show_list(top_my_list);
        }
0
Модератор
Эксперт по электронике
8876 / 6651 / 911
Регистрация: 14.02.2011
Сообщений: 23,412
24.08.2018, 11:24 3
Цитата Сообщение от Александрррррпд Посмотреть сообщение
Если не поймёте ничего страшно списки одна из самых тяжёлых тем.
если так его представлять то да
теперь возьмем тетрадку пронумеруем её листы
это будет массив
на каждом листе напишем "следующий номер X"
и разберем её по листочкам, сложим в случайном порядке, а можно и не складывать
это и есть список
информация не теряется, как было бы с массивом, всегда можно прочитать какой листок следующий
если нужно например вставить какой нибудь листок между вторым и третьим
в массиве пришлось бы перенумеровывать весь массив, а в списке просто зачеркиваем и пишем "следующий листок 10"
а на десятом пишем "следующий листок 3"
так же и с удалением
нужно удалить 3 листок
просто затираем ссылку на втором листе и пишем "следующий листок 4"
0
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359
25.08.2018, 04:46 4
Цитата Сообщение от ValeryS Посмотреть сообщение
теперь возьмем тетрадку пронумеруем её листы
или ещё проще берём вектор и всё сразу понятно и просто.или ещё берём питон там списки встроены и вообще не паримся))
0
Модератор
Эксперт по электронике
8876 / 6651 / 911
Регистрация: 14.02.2011
Сообщений: 23,412
25.08.2018, 07:41 5
Цитата Сообщение от Александрррррпд Посмотреть сообщение
проще берём вектор и всё сразу понятно
вектор и список, оригинально
Цитата Сообщение от Александрррррпд Посмотреть сообщение
или ещё берём питон там списки встроены
и понимаем что такое список
есть организация данных как то стэк, очередь,список, массив
а есть программная реализация
не поняв принципов писать программу путь в никуда
0
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
25.08.2018, 12:00 6
не пойму, зачем многие вводят каждый раз новую локальную переменную?
C++
1
2
3
4
5
6
7
8
9
10
11
void show_list(node* top)
{
   node* p;
   p = top;
   while (p)
   {
      cout << p->data << ' ';
      p = p->next;
   }
   cout << endl;
}
Уже есть локальная переменная top, которую можноо использовать.
C++
1
2
3
4
5
6
7
8
9
void show_list(node* p)
{
   while (p)
   {
      cout << p->data << ' ';
      p = p->next;
   }
   cout << endl;
}
0
447 / 333 / 172
Регистрация: 01.07.2015
Сообщений: 1,162
25.08.2018, 15:21 7
не пойму, зачем многие вводят каждый раз новую локальную переменную?
ЧТобы чуть что не изменить голову. Лишняя осторожность не помешает
0
26 / 23 / 12
Регистрация: 25.06.2018
Сообщений: 91
25.08.2018, 17:52 8
Цитата Сообщение от ReDoX Посмотреть сообщение
ЧТобы чуть что не изменить голову. Лишняя осторожность не помешает
А как вы ее поменяете? В функции это тоже локальная переменная на стеке
0
no swear
25.08.2018, 21:51     Сформировать двунаправленный список, тип информационного поля char*
  #9

Не по теме:

Цитата Сообщение от Александрррррпд Посмотреть сообщение
списки одна из самых тяжёлых тем
Если это одна из САМЫХ ТЯЖЕЛЫХ структур данных для понимания то что насчёт фибоначчиевой кучи, B-деревьев, суффиксных деревьев, тогда они просто НЕРЕАЛЬНЫ :)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2018, 21:51

Тип информационного поля
помогите с заданием плиз 1)Тип информационного поля char* Добавить в список элемент после...

Сформировать односвязный списком с типом информационного поля char*
Нужно сформировать односвязный списком с типом информационного поля char* С типом int программа...

Не работает код бинарного дерева для информационного поля char
Не работает код бинарного дерева для информационного поля char. Не могу понять в чем ошибка....

Подскажите пожалуйста, существует ли какие либо ограничения на тип информационного поля списка?
существует ли какие либо ограничения на тип информационного поля списка?


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

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

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