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

Заполнить двусвязный список случайными числами - C++

Восстановить пароль Регистрация
 
Looter
1 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 13
06.12.2013, 20:13     Заполнить двусвязный список случайными числами #1
Здравствуйте, нужно создать и заполнить двусвязный список случайными числами (int).
Пытаюсь создать обычный массив,а потом заполнить список оттуда числами, но что-то не работает.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.12.2013, 20:42     Заполнить двусвязный список случайными числами #2
Цитата Сообщение от Looter Посмотреть сообщение
Пытаюсь создать обычный массив,а потом заполнить список оттуда числами,
Массив для этого не нужен.
Looter
1 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 13
06.12.2013, 21:05  [ТС]     Заполнить двусвязный список случайными числами #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Массив для этого не нужен.
А как еще можно рандомно заполнить? Напишите если не сложно.
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
06.12.2013, 21:12     Заполнить двусвязный список случайными числами #4
Цитата Сообщение от Looter Посмотреть сообщение
А как еще можно рандомно заполнить?
да очень просто
генеришь число и добавляешь его в список
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.12.2013, 21:16     Заполнить двусвязный список случайными числами #5
http://www.cyberforum.ru/search.php?searchid=6884157
Очереди и Двусвязные списки!
Looter
1 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 13
06.12.2013, 21:42  [ТС]     Заполнить двусвязный список случайными числами #6
Там в основном все через функции и процедуры.
Что-то такое получилось, но некторые указатели почему-то не создаются.
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
#include "stdafx.h"
#include "stdlib.h"
const int size = 8;
struct node{
int data;
node *next; 
node *prev; 
};
int main(){
    node *head = 0;
    node *tail = 0;
    node *n = 0;
    int i = 0;
    
    n = new node;
    n->data = rand()%100;
    n->prev = NULL;
    head = n;
    tail = n;
    while (i<size-2){
        n = new node;
        n->data = rand()%100;
        n->prev = tail;
        tail->next = n;
        tail = n;
        i++;
    }
 
 
    n = new node;
    n->data = rand()%100;
    n->prev = tail;
    //tail->next = n;
    tail = n;
    tail->next = NULL;
 
    
    return 0;
}
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
06.12.2013, 22:38     Заполнить двусвязный список случайными числами #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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
const int size = 8;
struct node{
int data;
node *next; 
node *prev; 
};
 
 
int main()
    {
    node *head = NULL;
    node *tail = NULL;
    node * Curr = NULL;
    int i = 0;
    
    while ( i < size )
        {
           // Create NEW Node
            Curr = new node;
            Curr->data = rand() % 100 + 1;
            Curr->prev = NULL;
            Curr->next = NULL;
 
            // Fill
     if(head == NULL)
          head = tail = Curr;
        else
        {
            tail->next = Curr;
            Curr->prev = tail;
            tail = Curr;
        }           
            i++;
       }
 
    // Print List
        Curr = head;
       while(Curr)
        {
            std::cout << Curr->data << std::endl;
            Curr = Curr->next;
        }
 
      // Delete   
       Curr = tail;    
        while(Curr)
        {         
            node *  tmp = Curr;
            Curr = Curr->prev;          
            delete tmp;
        }
        head = tail = NULL;
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 23:00     Заполнить двусвязный список случайными числами
Еще ссылки по теме:

Заполнить стек случайными числами C++
Двусвязный список с целыми числами C++
C++ Как заполнить список (QListWidget) случайными числами?

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

Или воспользуйтесь поиском по форуму:
Looter
1 / 1 / 0
Регистрация: 20.10.2013
Сообщений: 13
06.12.2013, 23:00  [ТС]     Заполнить двусвязный список случайными числами #8
Цитата Сообщение от MrCold Посмотреть сообщение
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
#include <iostream>
const int size = 8;
struct node{
int data;
node *next; 
node *prev; 
};
 
 
int main()
    {
    node *head = NULL;
    node *tail = NULL;
    node * Curr = NULL;
    int i = 0;
    
    while ( i < size )
        {
           // Create NEW Node
            Curr = new node;
            Curr->data = rand() % 100 + 1;
            Curr->prev = NULL;
            Curr->next = NULL;
 
            // Fill
     if(head == NULL)
          head = tail = Curr;
        else
        {
            tail->next = Curr;
            Curr->prev = tail;
            tail = Curr;
        }           
            i++;
       }
 
    // Print List
        Curr = head;
       while(Curr)
        {
            std::cout << Curr->data << std::endl;
            Curr = Curr->next;
        }
 
      // Delete   
       Curr = tail;    
        while(Curr)
        {         
            node *  tmp = Curr;
            Curr = Curr->prev;          
            delete tmp;
        }
        head = tail = NULL;
 
    return 0;
}
спасибо огромное, только head и tail у меня местами поменяны.
Yandex
Объявления
06.12.2013, 23:00     Заполнить двусвязный список случайными числами
Ответ Создать тему
Опции темы

Текущее время: 17:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru