Создать структуру, реализующую очередь целых чисел типа 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("Данные отсутствуют!");
            }           
        }        
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.538 из 5
Похожие ответы