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

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

29.05.2011, 20:45. Просмотров 2637. Ответов 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)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2011, 20:45
Ответы с готовыми решениями:

Вставить в линейный список перед элементом с заданным значением другой линейный список
Как можно вставить в линейный список перед элементом с заданным значением...

Класс: "Одномерный целочисленный массив" (Линейный односвязный список)
Нужно разработать класс &quot;Одномерный целочисленный массив&quot; на базе линейного...

Создать базовый класс «Список» и класс-потомок «Упорядоченный список»
Создать базовый класс «список», определив в нем функции добавления в начало...

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

Линейный список
Есть такая детская считалка: n детей стали в круг. Начиная отсчет от первого,...

2
lemegeton
2933 / 1362 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
30.05.2011, 00:09 2
Посмотрите вот на этот топик.
0
LonDark
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 5
30.05.2011, 09:07  [ТС] 3
я список реализовал. осталось фунция(

Добавлено через 8 часов 55 минут
help)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2011, 09:07

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

Линейный список
Текст помощи организовано как линейный список. каждая компонента текста помощи...

Линейный двунаправленный список
Имеются сведения о больницах:название, количество мест, количество больных. ...


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

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

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