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

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

Войти
Регистрация
Восстановить пароль
 
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 406
#1

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

24.04.2014, 14:36. Просмотров 447. Ответов 5
Метки нет (Все метки)

Может быть кто-нибудь решал подобную задачу?

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

написать программу перезагрузки функции поиска минимального элемента в массиве. элементы массива могут быть вещественные и целые. C++
Написать шаблон функции для поиска среднего арифметического массива C++
Написать функцию для поиска максимального элемента в указанной строке матрицы C++
C++ Используя прототип функции написать программу для нахождения максимального элемента
C++ Написать 4 функции для матриц(Создание матрицы, печать, поиск минимального элемента, удаление столбцов)
Написать шаблон функции для поиска среднего арифметического значений массива C++
C++ Шаблон функции поиска максимального элемента
Шаблон функции поиска индекса последнего min элемента C++
C++ Обработка списков: функции удаления и поиска элемента
Написать функцию удаления элемента из списка C++
C++ Написать функцию поиска в одномерном массиве элемента, удовлетворяющего условию
Добавление нового элемента в бинарное дерево поиска с вспомогательной функцией(без рекурсии) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TenGen
Будущее рядом
 Аватар для TenGen
97 / 95 / 20
Регистрация: 06.03.2014
Сообщений: 342
24.04.2014, 14:42     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без #2
avatar1870, в чем затруднения? Я понимаю суть задачи, а что именно интересует?
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 406
24.04.2014, 14:49  [ТС]     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без #3
Может быть у кого-нибудь есть код, потому что сам я не понимаю и не представляю, что вообще можно написать(
TenGen
Будущее рядом
 Аватар для TenGen
97 / 95 / 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
Сообщений: 406
24.04.2014, 20:10  [ТС]     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без #5
Вообще никогда, к сожалению(
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 406
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     Написать функции для включения, исключения и поиска элемента кругового списка с заголовком и без
Ответ Создать тему
Опции темы

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