Создать структуру, реализующую очередь целых чисел типа FIFO - C#
Формулировка задачи:
Помагите пожалуйста как будет выглядеть программа : создать структуру , реализующую очередь целых чисел типа FIFO . данные структуры : массив очереди , указатели на начало очереди , и на конец очереди. создать функции : запись в начало очереди, чтение конца очереди.
п.с. буду оч благодарен !
Решение задачи: «Создать структуру, реализующую очередь целых чисел типа FIFO»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication10
{
class Program
{
static void Main(string[] args)
{
MyStruct ms = new MyStruct(3);
int x = ms.getlength();
int y = ms.datacount();
try
{
ms.add(12);
ms.add(34);
ms.add(54);
//ms.add(20);
int a, b, c, d;
ms.ret(out a);
ms.ret(out b);
ms.ret(out c);
//ms.ret(out d);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.Read();
}
}
struct MyStruct
{
int size;
int count;
int[] data;
//Конструктор
public MyStruct(int x)
{
size = x;
count = 0;
data = new int[size];
}
//Метод размера структуры
public int getlength()
{
return data.Length;
}
//Метод количества оставшихся в структуре данных
public int datacount()
{
return count;
}
//Метод добавления данных
public void add(int x)
{
if (count != size)
{
data[count] = x;
count++;
}
else
throw new IndexOutOfRangeException("Невозможно добавить данные! "+
"Размер структуры не соответствует!");
}
//Метод извлечения данных
public void ret(out int x)
{
if (count != 0)
{
x = data[data.Length-(count)];
count--;
}
else
{
x = 0;
throw new IndexOutOfRangeException("Данные отсутствуют!");
}
}
}
}