Форум программистов, компьютерный форум, киберфорум
Наши страницы

Добавление элемента в список с проверкой уникальности - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ссылка на двумерный массив http://www.cyberforum.ru/cpp-beginners/thread1097228.html
Здравствуйте. Объясните досконально это выражение: int (&ref1);
C++ Логарифмы и не объявленные идентификаторы - найти ошибку в коде #include <iostream> #include <conio.h> #include <math.h> void main() { float x,y; // объявление переменных http://www.cyberforum.ru/cpp-beginners/thread1097219.html
Установка wxWidgets3.0 в Code Blocks C++
Привет, помогите пожалуйста установить wxWidgets3.0 в Code Blocks, а то сил уже никаких нету( как его туда запихать ?
Посимвольно считать текст из файла и распределить сколько каких символов в тексте C++
Решал задачу. Суть в том, что нужно взять текст из .txt файла. посимвольно считать и распределить сколько каких символов в тексте(по таблице ascii, но столкнулся с проблемкой: объявил два...
C++ Стеки и очередь http://www.cyberforum.ru/cpp-beginners/thread1097161.html
Объясните пожалуйста что такое стек и очередь.И не могли вы написать программу с объяснением,где допустим задается стек из 10 элементов в цикле и с выводом,также и с очередью.Я как понял в стеке...
C++ Линковка wxWidgets3.0 в Code Blocks Привет, как правильно установить wxWidgets3.0 для Code Blocks ? я скачал файл, wxPack_v3.0.00.03.exe, установил wxWidgets3.0 по пути: D:\Proga\wxWidgets3.0 В Code Blocks когда я выбрал проект с... подробнее

Показать сообщение отдельно
Yark0s
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 37
15.02.2014, 17:22  [ТС]
А как можно удалить к примеру элемент "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
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 <clx.h>
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;
struct Element
{
   char data;
   Element * Next;
};
// Односвязный список
class List
{
   Element * Head;
   Element * Tail;
   int Count;
 
public:
   List();
   ~List();
   // Добавление элемента в список
   // (Новый элемент становится последним)
   void Add(char data);
   // Удаление элемента списка
   // (Удаляется головной элемент)
   void bound(char data);
   void Del();
   // Удаление всего списка
   void DelAll();
   // Распечатка содержимого списка
   // (Распечатка начинается с головного элемента)
   void Print();
   // Получение количества элементов, находящихся в списке
   int GetCount();
};
 
List::List()
{
   // Изначально список пуст
   Head = Tail = NULL;
   Count = 0;
}
 
List::~List()
{
   DelAll();
}
 
int List::GetCount()
{
   return Count;
}
void List::bound(char data)
{
    Element *temp = new Element;
    temp->data = data;
    Tail = Head;
    if (Head != NULL)
    {
        while (Tail != NULL)
        {
            if (Tail->data == temp->data)
                break;
            else if (Tail->data < temp->data && Tail->Next == NULL)
            {
                Tail->Next = temp;
                break;
            }
            else if (Tail->data < temp->data && Tail->Next->data > temp->data)
            {
                temp->Next = Tail->Next;
                Tail->Next = temp;
                break;
            }
            Tail = Tail->Next;
        }
    }
    else
        Head = Tail = temp;
}
 
void List::Add(char data)
{   // создание нового элемента
   Element * temp = new Element;
   // заполнение данными
   temp->data = data;
   // следующий элемент отсутствует
   temp->Next = NULL;
   // новый элемент становится последним элементом списка
   // если он не первый добавленный
   if(Head!=NULL){
 Tail->Next=temp;
 Tail = temp;
   }
   else{
   Head=Tail=temp;
   }
}
 
void List::Del()
{
   Element * temp = Head;
   Head = Head->Next;
   delete temp;
}
 
void List::DelAll()
{
   while(Head != 0)
      Del();
}
 
void List::Print()
{
   Element * temp = Head;
   while(temp != 0)
   {
      cout << temp->data << " ";
      temp = temp->Next;
   }
   cout << "\n\n";
}
void main()
{  char q;
   // Создаем объект класса List
   List lst;
   char s[] = "12469\n";
   cout << s << "\n\n";
   int len = strlen(s);
   for(int i = 0; i < len; i++)
     lst.Add(s[i]);
   lst.Print();
   scanf("%c",&q); printf("\n");
   lst.bound(q);
    lst.Print();
//   lst.Del();
//    lst.Print();
   getch();
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.