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

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

Войти
Регистрация
Восстановить пароль
 
Nastya_GGG
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 11
#1

Удаление элемента со списка - C++

02.06.2013, 18:33. Просмотров 457. Ответов 1
Метки нет (Все метки)

Вот у меня есть код:
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
struct OS
{   char Name [20];
    int Roz;
    int Op;
};
struct TList
{   OS info;         //інформаційне поле
    TList *next;     //адреса наступного елемента
};
class CList 
{   TList *head;        //адреса голови списку
 public:
    CList(){ head =new TList;
    head=NULL;
};
void ReadConsole()
    {int i=0;
     char nam[20];
     int roz;
     int op;
     TList *pv,*pn;
     int flag;
     cout<<"Введите элементы списка "<<endl;
     cout<<"Введите имя операционной системы :";
     cin>>nam;
     cout<<"Введите розрядность операционной системы :";
     cin>>roz;
     cout<<"Введите минимальный объём памяти :";
     cin>>op;
     head=Head(nam,roz,op);
     cout<<"Продолжать ?Для продолжения введите 1"<<endl;
     cin>>flag;
     if (flag==1)
       {cout<<"Введите элементы списка "<<endl;
        cout<<"Введите имя операционной системы :";
        cin>>nam;
        cout<<"Введите розрядность операционной системы :";
        cin>>roz;
        cout<<"Введите минимальный объём памяти :";
        cin>>op;
        pv=Head(nam,roz,op);//выделяем память для второго эл. списка 
        head->next=pv;//записываеи адресс 2-го эл. в предыдущий элемент 
     do{
     cout<<"Продолжать ?Для продолжения введите 1"<<endl;
     cin>>flag;
     if (flag==1){
        cout<<"Введите элементы списка "<<endl;
        cout<<"Введите имя операционной системы :";
        cin>>nam;
        cout<<"Введите розрядность операционной системы :";
        cin>>roz;
        cout<<"Введите минимальный объём памяти :";
        cin>>op;
     pn=Head(nam,roz,op);
     pv->next=pn;}
     else break;
     pv=pn;
     }while (1);
}
};  //введення даних з клавіатури


Помогите реализовать функцию удаление элемента списка . Не могу понять , как это можно сделать. я так понимаю , сначала нужно создать указатель на элемент списка , который мы хотим удалить , ну а дальше что делать ?
Помогите , пожалуйста , разобраться с этим вопросом.
Заранее огромное спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 18:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление элемента со списка (C++):

Реализация списка.Удаление хвостового элемента.Поиск элемента - C++
Всем привет,мое задание выглядит так : В класс List&lt;T&gt; из классной работы добавить следующие методы: void addHead(T...

Удаление элемента списка и всего списка - C++
Компилируется, но не работает. Что и как исправить? #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;cstring&gt; #define M 5 ...

Удаление элемента из списка и поиск элемента - C++
Нужно удалить определенный элемент из списка. Найти элемент в списк и вывести на него всю информацию. Вот код. Не знаю как написать...

Удаление элемента из списка - C++
Здравствуйте, нужна помощь, программа, выполняющая следующие задания на основе двусвязного списка. Не удается удалить элемент по дате...

Удаление элемента из списка - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; struct FileStruct //Структура файла { ...

Удаление элемента из списка - C++
Нужно удалить из списка элемент, стоящий после элемента на который указывает Р. Очень срочно надо! Заранее спасибо.

1
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
02.06.2013, 20:17 #2
Цитата Сообщение от Nastya_GGG Посмотреть сообщение
Помогите реализовать функцию удаление элемента списка
Т.к. список односвязный, то перебором с головы находим элемент для удаления.
При этом нужно еще запомнить указатель на предыдущий элемент, чтобы переустановить связи.
Т.е. имеем цепочку элементов: prev -> cur -> next. Для prev устанавливаем next в качестве следующего, после этого удаляем память, занимаемую cur элементом.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2013, 20:17
Привет! Вот еще темы с ответами:

Удаление элемента из списка - C++
Здравствуйте, нужна помощь, программа, выполняющая следующие задания на основе односвязного списка. Не удается удалить элемент по дате...

Удаление элемента из списка - C++
Нужно удалить всех студентов с оценками 2. Entry *begin = new Entry; int mark=2; Entry *current=begin; while(current){ ...

Удаление элемента из списка - C++
необходимо удалить первый элемент из списка, помогите пожалуйста переписать функцию и помогите с вызовом этой функции в main() ...

Удаление последнего элемента из списка - C++
Есть функция void List::DeleteElement(void) { Element *vsp; if (!begin) { cout &lt;&lt; &quot;Is empty!\n&quot;; return; } else...


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

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

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