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

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

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

Если создать структуру я могу, то со связными списками совсем беда.
0
Миниатюры
Создать связанный список  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2013, 04:29
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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

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

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


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

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

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