Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
pavlenchik
1

Стек на массиве

23.05.2011, 00:03. Показов 1045. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите сделать, из очереди на массиве, стек
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
class ArrayList
    {
        struct ListElement
        {
            public int Left;//указатель на левый эл-т
            public int Right;// на правый
            public String Text;//информационное поле ячейки очереди
        };
 
        private int First;//указатель на голову очереди
        private int Last;// указ на хвост
        private ListElement[] elements;
 
        public ArrayList(int size)
        {
            elements = new ListElement[size];
            First = Last = -1;
 
        }
 
        public void Add(string d)//добавление елементов в очередь
        {
            if (Last < elements.Length - 1)
            {
                if (Last == -1)
                    First = 0;
                else
                    elements[Last].Right = Last + 1;//связь ячейки с новой
                Last++;//переход на новую ячейку
                elements[Last].Left = Last - 1;//связь новой с предыдущей
                elements[Last].Right = -1;//ячейка пока что последняя
                elements[Last].Text = d;//занесение строки в информационное поле ячейки
            }
            else
                MessageBox.Show("Очередь переполнена.");
        }
 
 
        public void Remove()//удаление эл-та в стеке
        {
            if (First == -1)
                MessageBox.Show("Очередь пуста.");
            else
            {
                First++;//переход на след. ячейку
                if (First > Last) //проверка существования ячеек
                {
                    First = Last = -1;
                }
                else
                    elements[First].Left = -1;//стерается связь - удаляется ячейка
 
            }
        }
 
        public string GetFirst()
        {
            if (First != -1)
                return elements[First].Text;//вывод первого эл-та очереди
            else
            {
                MessageBox.Show("Очередь пуста.");
                return null;
            }
        }
 
 
        public bool Empty()
        {
            return (First == -1);
        }
 
 
        public void ShowAll(ref TextBox txtBx_Show)
        {
            if (First == -1)
                MessageBox.Show("Очередь пуста.");
            else
            {
                txtBx_Show.Clear();
                int Cur = First;
                while (Cur <= Last)//цикл вывода всех эл-в очереди
                {
                    if (txtBx_Show.Text != "") txtBx_Show.Text += " ";
                    txtBx_Show.Text += elements[Cur].Text;
                    Cur++;
                }
            }
        }
    }
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2011, 00:03
Ответы с готовыми решениями:

Стек на массиве
Здравствуйте! Надо создать стек на массиве, не используя ссылки, указатели, ... Дан только массив....

Стек на массиве
Прошу помочь решить проблему со стеком на массиве. Не могу скомпилировать программу, выдаёт ошибки...

Стек и очередь на массиве
Здравствуйте, дорогие программисты! Скиньте, пожалуйста, исходники стека и очереди для...

Стек на статическом массиве
Может кто-нибудь написать стек на статическом массиве. Т.е чтобы был объявлен массив, объявлен...

0
23.05.2011, 00:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2011, 00:03
Помогаю со студенческими работами здесь

Стек на саморасширяющемся массиве
надо реализовать работу стека. использовать самостоятельно написанный вектор подскажите,...

Динамически растущий стек на массиве, исправить ошибки
Есть код. В строках с номерами 22, 27 и 44 получаю ошибки. Помогите исправить ситуацию. Ошибка:...

Реализовать стек на массиве с использованием двунаправленного списка
здраствуйте, может кто-то пожалуйста привести реализацию примера стека, реализованого на ...

Стек на массиве (выводит значение даже при пустом стеке)
Здравствуйте, есть код со стеком, вопрос касательно метода класса,а точнее о выводе элемента из...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru