Циклический список - C# (218663)

Узнай цену своей работы

Формулировка задачи:

Здраствуйте, товарищи! Не могу додумать мысль, помогите пожалуйста. Нужен список, циклический(Допустим метод Next() возращает след. элемент списка, Prev() - пред. эл.), чтобы в любой момент можно было удалить(добавить) к нему элемент(Макс число - 8). Если есть пустое место(например с индексом 2,5,7), то добавляем в lists[2] и т.п. Что можете посоветовать? ЗЫ Думал уже над решением, но хотелось бы услышать идеи со стороны.

Решение задачи: «Циклический список»

textual
Листинг программы
class CycleList
{
object[] objArray;
int index;
 
public CycleList()
{
    objArray = new object[8];
    index = 0;
}
 
public object Next()
{
    if (++index > objArray.Length - 1)
        index = 0;
    return objArray[index];
}
 
public object Prev()
{
    if (--index < 0)
        index = objArray.Length - 1;
    return objArray[index];
}
 
public object Current
{
    get { return objArray[index]; }
}
 
public int Index
{ get { return index; } }
 
public void Delete(int index)
{
    if (index < 0 && index > objArray.Length - 1)
        return;
 
    objArray[index] = null;
}
 
public bool Add(object obj)
{
    for (int i = 0; i < objArray.Length; i++)
        if (objArray[i] == null)
        {
            objArray[i] = obj;
            return true;
        }
 
    return false;
}
}

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


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

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

6   голосов , оценка 4.667 из 5