Адресный замкнутый (кольцевой) упорядоченный двунаправленный списк

Как реализовать объединение клиентов используя структуру данных в виде кольцевой очереди на основе обычного массива, а так же объединить операции клиента используя структура данных в виде адресного замкнутого (кольцевого) упорядоченного двунаправленного списка без заголовка в 3 отдельных классах:

// Класс банка
public class Bank {
            // Наименование банка
            private string nameBank;
        
            // Клиентские банковские книги
            private DoublyLinkedList<Client> arrayClient;
        
            public Bank(string _nameBank)
            {
                nameBank = _nameBank;
                arrayClient = new DoublyLinkedList<Client>();
            }
        
            //Получить наименование банка
            public string GetBankName { get => nameBank; }
        
            //Получить клиентские банковские книги
            public DoublyLinkedList<Client> GetListClients { get => arrayClient; }
        }
    
// Класс операции
public class Operation
            {
                // Дата операции
                public DateTime date;
        
                // Депозит операции
                public decimal deposit;
        
                public Operation(DateTime dateIn, decimal depositIn)
                {
                    date = dateIn;
                    deposit = depositIn;
                }
        
                // Получение даты операции
                public DateTime GetDateTime { get => date; }
        
                // Получение депозита операции
                public decimal GetDeposit { get => deposit; }
            }
    
      
    
    //Класс клиент
    public class Client
            {
                //Фамилия клиента
                public string surname;
        
                //Текущий депозит лицевого счета
                public decimal currentDeposit;
        
                // Совершенные операции клиента
                private Operation[] operations;
        
                public Client(string surnameIn)
                {
                    surname = surnameIn;
                    operations = new Operation[0];
                }
        
                //Получить фамилию
                public string GetSurname { get => surname; }
        
                //Получить все совершенные операции
                public Operation[] Operations { get => operations; }
        
                //Получить текущий депозит лицевого счета
                public decimal GetDeposit { get => currentDeposit; }
            }
        }

Ответы (0 шт):