Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
helloy
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 46
1

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

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

Если создать структуру я могу, то со связными списками совсем беда.
0
Миниатюры
Создать связанный список  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 04:29
Ответы с готовыми решениями:

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

Связанный список.
Компилятор ругается на строку 169 In member function `virtual Node*...

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

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

Связанный список
Не могу обратиться к методу класса Node хотя они выраженны как public: void...

8
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);
 
}
подкорректируйте так, чтобы сохранялись адреса в указателях.
0
LuxArt
35 / 22 / 10
Регистрация: 14.11.2013
Сообщений: 85
21.11.2013, 14:15 3
Цитата Сообщение от helloy Посмотреть сообщение
C++
1
2
3
4
struct spisok{
* * int value;
* * spisok * next;
};
Название у этой структуры "плохое". Ведь это не список а узел.
0
nikmoon
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 3
21.11.2013, 14:18 4
Вам бы еще про указатели почитать.
Код
   spisok*qq=NULL;
   create(qq,10);
Как думаете, какое значение передается внутрь функции create?
0
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?
ха ха ха)))
точно.
вот я лох
0
LuxArt
35 / 22 / 10
Регистрация: 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, ну что похоже это на бред?
0
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, ну что похоже это на бред?
это не нужно для моего задания. Прочитайте условие!
0
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);
}
вот, что наверное хотели.
0
LuxArt
35 / 22 / 10
Регистрация: 14.11.2013
Сообщений: 85
21.11.2013, 16:07 9
Цитата Сообщение от helloy Посмотреть сообщение
вот, что наверное хотели.
Наверное
0
Миниатюры
Создать связанный список  
21.11.2013, 16:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 16:07

Связанный список
ребят,нужна помощь. короче дело в том,что нужно &quot;то есть тебе нужно поменять...

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

Связанный список (очередь)
Здравствуйте, пытался создать связанный список (элементы выводятся в том же...


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

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

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