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

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

Войти
Регистрация
Восстановить пароль
 
helloy
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 46
#1

Создать связанный список - C++

20.11.2013, 04:29. Просмотров 835. Ответов 8
Метки нет (Все метки)

Если создать структуру я могу, то со связными списками совсем беда.
Миниатюры
Создать связанный список  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 04:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать связанный список (C++):

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

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

Связанный список - C++
Всем доброго время суток, написать программу демонстрации связанного списка, где PART - (ДЕТАЛЬ) содержит номер детали и остальную...

Связанный список. - C++
Компилятор ругается на строку 169 In member function `virtual Node* HeadNode::Insert(Data*)': 169 argument of type...

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

Связанный список - C++
Не могу обратиться к методу класса Node хотя они выраженны как public: void addNode(int d); void printList(); #include<iostream> ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
helloy
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 46
21.11.2013, 14:12  [ТС] #2
Создайте структуру с двумя переменными: int и указателем на другой экземпляр этой же структуры. Напишите функцию, которая получает адрес одной из структур и значение типа int (длину списка, который требуется построить). Функция строит цепочку структур (связанный список), начиная с первого аргумента (начала списка), при этом каждая структура должна содержать указатель на следующую структуру в списке. Новые экземпляры структур создаются оператором new, а в переменной int: хранится счетчик(номер создаваемого объекта). В последней структуре списка присвойте указателю нулевое значение (признак конца списка). Напишите вторую функцию, которая получает начало списка, перебирает его до конца и выводит
для каждого элемента значение указателя и переменную int .

Добавлено через 8 часов 46 минут
кто подсобит?)

Добавлено через 5 часов 38 минут


Добавлено через 17 часов 49 минут


Добавлено через 1 час 13 минут
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
#include <iostream>
 
struct spisok{
    int value;
    spisok * next;
};
 
void create(spisok*s,int size){
    if (s==NULL){
        //std::cout<<"0";
        spisok*temp=new spisok;
        temp->value=0;
        temp->next=NULL;
        s=temp;
        create(s,size);
    }
    else if(s->value<size-1) {
    spisok*temp=new spisok;
    temp->value=(++s->value);
    temp->next=NULL;
    s->next=temp;
    //std::cout<<s->value;
        create(s->next,size);
    }
    
}
 
void print(spisok*s){
    ////std::cout<<"a";
    std::cout<<(s->value);
    if (s->next!=NULL) print(s->next);
}
 
 
 
 
 
 
void main(){
    spisok*qq=NULL;
    std::cout<<qq<<std::endl;
    create(qq,10);
    std::cout<<qq<<std::endl;
    //print(qq);
 
}
подкорректируйте так, чтобы сохранялись адреса в указателях.
LuxArt
33 / 20 / 2
Регистрация: 14.11.2013
Сообщений: 85
21.11.2013, 14:15 #3
Цитата Сообщение от helloy Посмотреть сообщение
C++
1
2
3
4
struct spisok{
* * int value;
* * spisok * next;
};
Название у этой структуры "плохое". Ведь это не список а узел.
nikmoon
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 3
21.11.2013, 14:18 #4
Вам бы еще про указатели почитать.
Код
   spisok*qq=NULL;
   create(qq,10);
Как думаете, какое значение передается внутрь функции create?
helloy
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 46
21.11.2013, 14:22  [ТС] #5
Цитата Сообщение от LuxArt Посмотреть сообщение
Название у этой структуры "плохое". Ведь это не список а узел.
что за бред?
//Структура - элемент стека
struct spisok{
int value; //данные элемента структуры
spisok *next; //Указатель для связи между структурами такого же типа
};

обоснуйте примерами

Добавлено через 1 минуту
Цитата Сообщение от nikmoon Посмотреть сообщение
Вам бы еще про указатели почитать.
Код
   spisok*qq=NULL;
   create(qq,10);
Как думаете, какое значение передается внутрь функции create?
ха ха ха)))
точно.
вот я лох
LuxArt
33 / 20 / 2
Регистрация: 14.11.2013
Сообщений: 85
21.11.2013, 14:35 #6
Цитата Сообщение от helloy Посмотреть сообщение
обоснуйте примерами
Я примерно вот так cделал бы

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Узел
struct node
{
    int value;      // Данные
    node *next;     // Указатель на следующий узел
};
 
 
// Список
struct spisok
{
    node *head;     // Указатель на начало списка
    node *tail;     // Указатель на конец списка
    // Тут добавить разные функции для работы со списком
};
Добавлено через 6 минут
helloy, ну что похоже это на бред?
helloy
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 46
21.11.2013, 14:37  [ТС] #7
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
#include <iostream>
 
struct spisok{
    int value;
    spisok * next;
};
 
void create(spisok*s,int size){
    if(s->value<size-1) {
    spisok*temp=new spisok;
    temp->value=s->value+1;
    temp->next=NULL;
    s->next=temp;
    create(s->next,size);
    }
    
}
 
spisok * create(){
    spisok*temp=new spisok;
    temp->value=0;
    temp->next=NULL;
    return temp;
}
 
void print(spisok*s){
    std::cout<<(s->value);
    if (s->next!=NULL) print(s->next);
}
 
void main(){
    spisok*qq=NULL;
    std::cout<<qq<<std::endl;
    qq=create();
    std::cout<<qq<<std::endl;
    create(qq,10);
    std::cout<<qq<<std::endl;
        print(qq);
 
}
меня интересует только 1 как объединить spisok * create и void create?

Добавлено через 1 минуту
Цитата Сообщение от LuxArt Посмотреть сообщение
Я примерно вот так cделал бы

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Узел
struct node
{
    int value;      // Данные
    node *next;     // Указатель на следующий узел
};
 
 
// Список
struct spisok
{
    node *head;     // Указатель на начало списка
    node *tail;     // Указатель на конец списка
    // Тут добавить разные функции для работы со списком
};
Добавлено через 6 минут
helloy, ну что похоже это на бред?
это не нужно для моего задания. Прочитайте условие!
helloy
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 46
21.11.2013, 14:47  [ТС] #8
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
#include <iostream>
 
struct spisok{
    int value;
    spisok * next;
};
 
void create(spisok*s,int size){
     if(s->value<size-1) {
    spisok*temp=new spisok;
    temp->value=s->value+1;
    temp->next=NULL;
    s->next=temp;
    create(s->next,size);
    }
}
 
void print(spisok*s){
    std::cout<<(s->value);
    if (s->next!=NULL) print(s->next);
}
 
void main(){
    spisok hello;
    hello.value=0;
        hello.next=NULL;
    create(&hello,10);
        print(&hello);
}
вот, что наверное хотели.
LuxArt
33 / 20 / 2
Регистрация: 14.11.2013
Сообщений: 85
21.11.2013, 16:07 #9
Цитата Сообщение от helloy Посмотреть сообщение
вот, что наверное хотели.
Наверное
Миниатюры
Создать связанный список  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 16:07
Привет! Вот еще темы с ответами:

Связанный список (ООП) - C++
Ребят , помогите с лабой пожалуйста. Вот задание : Створити динамічний клас University, що базується на зв’язному списку, де кожний...

Однонаправленный связанный список - C++
вот задание Однонаправленный связанный список Тип информационной части узла списка-char 1. Определение структуры информационной...

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

Циклический связанный список - C++
Доброго времени суток. Пытаюсь посчитать количество значений в циклическом списке. Но всегда получается на 1 значение меньше. Или я должен...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.11.2013, 16:07
Ответ Создать тему
Опции темы

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