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

Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без - C++

Восстановить пароль Регистрация
 
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 401
24.04.2014, 14:36     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без #1
Может быть кто-нибудь решал подобную задачу?

Написать и протестировать функции для включения, исключения и поиска элемента кругового списка для:
а) списка без заголовка;
б) списка с заголовком (заголовок может содержать некоторую информацию о списке, например, число элементов в списке).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2014, 14:36     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без
Посмотрите здесь:

написать программу перезагрузки функции поиска минимального элемента в массиве. элементы массива могут быть вещественные и целые. C++
Написать шаблон функции для поиска среднего арифметического массива C++
написать код для поиска в записанном ранее файле по фамилии или по группе с выбором параметра поиска C++
C++ Используя прототип функции написать программу для нахождения максимального элемента
C++ Написать 4 функции для матриц(Создание матрицы, печать, поиск минимального элемента, удаление столбцов)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TenGen
Будущее рядом
 Аватар для TenGen
96 / 94 / 20
Регистрация: 06.03.2014
Сообщений: 342
24.04.2014, 14:42     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без #2
avatar1870, в чем затруднения? Я понимаю суть задачи, а что именно интересует?
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 401
24.04.2014, 14:49  [ТС]     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без #3
Может быть у кого-нибудь есть код, потому что сам я не понимаю и не представляю, что вообще можно написать(
TenGen
Будущее рядом
 Аватар для TenGen
96 / 94 / 20
Регистрация: 06.03.2014
Сообщений: 342
24.04.2014, 14:57     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без #4
avatar1870,
C++
1
2
3
4
5
6
7
8
struct element
{
    element(int v) : value(v), next(NULL) { }
    int value; //Место для хранения данных, в нашем случае числа
    element *next; //Указатель на следующий элемент
};
 
element *head;
Вот примерно так выглядит начало. Структура описывает элемент списка, каждый элемент имеет указатель на следующий по списку элемент. Процесс добавления происходит путем изменения вот этих самых указателей.
Дальше справитесь или вы со списками ни разу еще не работали?
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 401
24.04.2014, 20:10  [ТС]     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без #5
Вообще никогда, к сожалению(
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 401
26.04.2014, 11:40  [ТС]     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без #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
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
// lab_20_the_end.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
using namespace std;
struct  Node
 {
   int x;
   Node *Next;
 };
 
 class List
 {
      Node *Head,*Tail; //Первый элемент и тот что последний
      int size; //Число элементов в списке
  public:
      List():Head(NULL),Tail(NULL),size(0){}; //Инициализация элементов в ноль с помощью конструктора
     ~List(); //Деструктор для освобождения памяти
      void Add(int x); //Функция добавления элементов в списов
      void Show(int size); //Функция отображения элементов списка
      int Count(); //Функция возвращающая число элементов в списке
};
 
List::~List()
 {
   while (size!=0) //Пока размерность списка не станет нулевой 
    {
     Node *temp=Head->Next;    
     delete Head; //Освобождаем память от активного элемента
     Head=temp; //Смена адреса начала на адрес следующего элемента
     size--; //Один элемент освобожден. корректируем число элементов
    }
 }
 
int List::Count()
 {
   return size; //Возвращаем число элементов списка
 }
 
void List::Add(int x)
{
 size++; //При каждом добавлении элемента увеличиваем число элементов в списке
 Node  *temp=new Node; //Выделение памяти для нового элемента списка
 temp->Next=Head; //Замыкание контура. Последний элемент - это начало списка 
 temp->x=x; //Записываем в выделенную ячейку памяти значение x 
 
if (Head!=NULL) //В том случае если список не пустой
 {
  Tail->Next=temp; //Запись данных в следующее за последним элементом поле
  Tail=temp; //Последний активный элемент=только что созданный.
 }
else Head=Tail=temp;//Если список пуст то создается первый элемент.
} 
 
void List::Show(int temp)
 {
    Node *tempHead=Head; //Указываем на голову
 
    temp=size; //Временная переменная равная числу элементов в списке
   while (temp!=0) //Пока не выполнен признак прохода по всему списку
    {
      cout<<tempHead-> x<<" "; //Очередной элемент списка на экран 
      tempHead=tempHead->Next; //Указываем, что нужен следующий элемент
      temp--; //Один элемент считан, значит осталось на один меньше 
    }
 }
 
void main()
{
 system("CLS");   
  List lst;
   lst.Add(100);
   lst.Add(200);
   lst.Add(300);
 
  lst.Show(lst.Count()); //Показываем список на экране.
 cout<<endl;
 system("PAUSE");
}
Yandex
Объявления
26.04.2014, 11:40     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без
Ответ Создать тему
Опции темы

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