Циклический список - 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д