Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
hdhr
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 14
1

Напишите программу, реализующую работу очереди. Напишите функции для добавления/удаления элемента в очередь

24.04.2012, 19:45. Просмотров 1658. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста написать программу. Готовый Queue не нужен( Нужно изобрести велосипед заново.
Задание:
Напишите программу, реализующую работу очереди. Напишите функции для добавления/удаления элемента в очередь, проверки пустоты очереди, подсчета числа элементов в очереди, очистки очереди, печати элементов очереди.
Продемонстрируйте работу функции в программе.

Есть пример но только для стека и не полный
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
int kol = 0;
            stec first = new stec();
            stec tmp = first;
            first.val = 1;
            for (int i = 2; i < 16; i++)
            {
                stec newEL = new stec();
                newEL.val = i;
                newEL.prev = tmp;
                tmp = newEL;
            }
 
            stec last = tmp;
// Печать стека
            Console.WriteLine("печать стека");
            stec a = last;
            do
            {
                Console.WriteLine(last.val);
                last = last.prev;
                kol = kol + 1;
            }
            while (last != null);
            last = a;
Заранее большое спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2012, 19:45
Ответы с готовыми решениями:

Напишите функции для добавления/удаления элемента в стек
помогите написать пожалуйста программу, реализующую работу стека. Напишите функции для...

Написать функции для добавления/удаления элемента в очередь
Помогите пожалуйста написать написать программу, реализующую работу очереди использую простые...

Напишите программу, реализующую вычисление значения функции Аккермана (Visual Prolog)
Напишите программу, реализующую вычисление значения функции Аккермана: Функция Аккермана...

Создать очередь, написать функции для добавления/удаления элементов
Добрый. Помогите, пожалуйста. Задание: Разработать функции, позволяющие: 1)создать очередь;...

В чем ошибки в коде добавления и удаления элемента из очереди?
В идеале должно производиться добавление и удаление элемента из очереди...

1
noname_kazan
8 / 8 / 2
Регистрация: 22.04.2012
Сообщений: 37
24.04.2012, 21:17 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
using System;
using System.Text;
 
namespace Queue
{
    class Program
    {
        static void Main(string[] args)
        {
            Queue queue = new Queue();
            Console.WriteLine("Пример работы с очередью");
            bool isExit = true;
            string temp;
            while (isExit)
            {
                Console.WriteLine("Операции с очередью:");
                Console.WriteLine("1 - Добавить");
                Console.WriteLine("2 - Удалить");
                Console.WriteLine("3 - Показать");
                Console.WriteLine("4 - Очистить");
                Console.WriteLine("5 - Выход");
                temp = Console.ReadLine();
                switch (temp)
                {
                    case "1":
                        {
                            Console.WriteLine("Введите значение:");
                            queue.Add(Console.ReadLine());
                        }
                        break;
                    case "2":
                        {
                            queue.Delete();
                        }
                        break;
                    case "3":
                        {
                            queue.Show();
                        }
                        break;
                    case "4":
                        {
                            queue.Clear();
                        }
                        break;
                    case "5":
                        {
                            isExit = false;
                        }
                        break;
                }
            }
        }
    }
    class Queue
    {
        private Element First { get; set; }
        private Element Last { get; set; }
        public int Count { get; private set; }
 
        public Queue()
        {
            First = Last = null;
            Count = 0;
        }
 
        public bool Add(object obj)
        {
            if (First == null)
            {
                First = new Element(obj, null);
                Last = First;
            }
            Element temp = new Element(obj, null);
            Last.NextObject = temp;
            Last = temp;
            Count++;
            return true;
        }
        public bool Delete()
        {
            if (First == null)
                return false;
            Element temp = First.NextObject;
            First = temp;
            Count--;
            return true;
        }
        public bool Clear()
        {
            First = null;
            Count = 0;
            return true;
        }
        public void Show()
        {
            if (Count == 0)
            {
                Console.WriteLine("Очередь пустая");
                return;
            }
            Console.WriteLine("Кол-во элементов: {0}", Count);
            Element temp = First;
            for (int i = 0; i < Count; i++)
            {
                Console.WriteLine(temp.Value.ToString());
                temp = temp.NextObject;
            }
        }
    }
    class Element
    {
        public object Value { get; set; }
        public Element NextObject { get; set; }
 
        public Element()
        { }
        public Element(object value, Element nextOblect)
        {
            this.Value = value;
            this.NextObject = NextObject;
        }
    }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2012, 21:17

Циклическая очередь, сбой после удаления/добавления элемента
нарушается после того как удаляю элемент, и добавляю элемент снова Организуйте циклическую...

Напишите параллельную программу, реализующую транспонирование матрицы n×n.
Задание 3. Напишите параллельную программу, реализующую транспонирование матрицы n×n. ...

Напишите функцию удаления элемента из массива
Дан массив А из n целых чисел. Напишите функцию удаления элемента из массива, позицию элемента...


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

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

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