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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
LonDark
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 5
#1

Класс Линейный Список. - C++

29.05.2011, 20:45. Просмотров 1952. Ответов 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#include <iostream>
using namespace std;
class Spisok
{
  private:
    struct node
      {
        int elem; 
        node *sled;
      } *head; //Указатель на начало списка.
  public: 
    Spisok() {head = new node;  head->sled=NULL;} //Конструктор.
    ~Spisok() { delete head; } //Деструктор.
    void POSTROENIE (); 
    void VYVOD (); 
    void OCHISTKA ();
    void DELETeELEM();
    void SEARCH();
}; 
 
void main ()
{
  setlocale(LC_ALL,"Russian");
  Spisok A, B;
  A.POSTROENIE ();
  B.POSTROENIE ();
  A.VYVOD ();
  B.VYVOD ();
  A.DELETeELEM();
  A.VYVOD();
  A.SEARCH();
  A.OCHISTKA ();
  B.OCHISTKA ();
} 
 
void Spisok::POSTROENIE ()
//Построение однонаправленного списка с заглавным звеном.
// head - указатель на заглавное звено списка. 
{
  node *t;
  int el;
  t = head;
  cout<< "Вводите элементы списка: ";
  cin>>el;
  while (el!=0)
  { 
    t->sled = new node; 
    t = t->sled; t->elem = el; t->sled = NULL; 
    cin>>el;
  }
} 
void Spisok::VYVOD ()
//Вывод содержимого однонаправленного линейного списка
//с заглавным звеном.
// head - указатель на заглавное звено списка.
{
  node *t;
  t = head->sled; 
  cout<<"Список: ";
  while (t!=NULL)
  { 
    cout<<t->elem<<" "; 
    t = t->sled;
  }
  cout<<endl;
} 
void Spisok::OCHISTKA ()
//Удаление однонаправленного списка из памяти.
// head - указатель на заглавное звено списка.
{
  node *q,*q1;// Рабочие указатели.
 
  q = head;
  q1 = q->sled; // Указатель q1 "опережает" указатель q.
  while (q1!=NULL)
  { q = q1; q1 = q1->sled; delete q;}
}
void Spisok::DELETeELEM ()
{                       
                        node* ptrPrev = NULL;
                        node* ptrDelete = NULL;
                        int key =0;
                        if (head == NULL)
                        {
                               cout<<("\t!!! СПИСОК ПУСТ !!!\n\n");                  
                        }
                        cout<<("Введите Элемент Для Удаления: ");
                        cin>>key;
                        ptrDelete = head;
                        if (ptrDelete->elem == key)
                        {
                            head = ptrDelete->sled;
                                delete ptrDelete;
                                
                        }
                        while (true)
                        {
                            if (key == ptrDelete->elem)
                                {
                                    ptrPrev->sled = ptrDelete->sled;
                                        delete ptrDelete;
                                        break;
                                }
                            if (ptrDelete->sled == 0)
                                {
                                        cout<<("\n\t!!! ЭЛЕМЕНТ НЕ НАЙДЕН !!!\n");
                                        break;
                                }
                                ptrPrev = ptrDelete;
                                ptrDelete = ptrDelete->sled;
                        }
                       
                     
                }
 
void Spisok::SEARCH ()
{
    node* ptr = NULL;
                        int key =0;
                       
                        if (head == NULL)
                        {
                               cout<<("\t!!! СПИСОК ПУСТ !!!\n\n");
                             
                        }
                       cout<<("Введите Элемент Для Поиска: ");
                        cin>>key;
                        ptr = head;
                        while (true)
                        {
                            if (key == ptr->elem)
                                {
                                       cout<<("\n\t!!! ЭЛЕМЕНТ НАЙДЕН !!!\n");
                                        break;
                                }
                            if (ptr->sled == NULL)
                                {
                                        cout<<("\n\t!!! ЭЛЕМЕНТ НЕ НАЙДЕН !!!\n");
                                        break;
                                }
                            ptr = ptr->sled;
                        }
                       
}
Помогите, описать функцию, которая формирует список символов L, включив в него по одному разу элементы, которые входят одновременно в оба списка L1 и L2.

Добавлено через 2 часа 18 минут
Нужна помощь. Буду очень благодарен

Добавлено через 2 часа 2 минуты
helpppp)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2011, 20:45     Класс Линейный Список.
Посмотрите здесь:

Линейный список - C++
Есть такая детская считалка: n детей стали в круг. Начиная отсчет от первого, убирают каждого k-го ребёнка, замыкая круг после каждого...

Линейный список - C++
Текст помощи организовано как линейный список. каждая компонента текста помощи содержит пояснение к этому термину. Составить программу...

Линейный список - C++
Нужно написать курсовую по с++, не используя стандартных методов. Подскажите пожалуйста, с чего начать? Текст допомоги для деякої...

Линейный динамический список - C++
1. Напишите программу, создающую линейный динамический список, указанный в задании. Значения элементов вводятся с консоли. Вам понадобятся...

Линейный односвязный список - C++
List *begin = NULL; begin = new List; List *begin1 = NULL; begin1 = new List; List *begin2 = NULL; begin2 = new List; List...

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

Линейный двусвязный список - C++
Список задан структурой struct *node { char info; node *prev; node *next; }; и была введена некоторая последовательность...

Одноправленный линейный список - C++
Дайте идею пожалуйста создать пользовательский тип данных который создает массив переменной длины с использованием одноправленного...

Линейный однонаправленный список - C++
Есть программа, которая инициализирует, заполняет и удаляет список. При компиляции появляется ошибка, что c и m в функции main() не...

Линейный двусвязный список - C++
Задали задачу, реализовать линейный двусвязный список, и функцию к нему - удаление узла. Читал литературу, правда в спешке, искал по форуму...

Линейный односвязный список - C++
void Read() { Node *cur = head; ifstream if_read; if_read.open(&quot;BDname.txt&quot;); if (!if_read){ cout &lt;&lt; &quot;нет BDname.txt&quot; &lt;&lt;...

Двусвязный линейный список - C++
Помогите пожалуйста написать эти программы :( Двусвязный линейный список, Быстрая сортировка ,Пузырьковая с...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
30.05.2011, 00:09     Класс Линейный Список. #2
Посмотрите вот на этот топик.
LonDark
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 5
30.05.2011, 09:07  [ТС]     Класс Линейный Список. #3
я список реализовал. осталось фунция(

Добавлено через 8 часов 55 минут
help)
Ответ Создать тему
Опции темы

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