Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему не работает метод insert? 
:(
    Опции темы
rehvi
Дата 27.3.2013, 02:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.3.2013

Репутация: нет
Всего: нет



Помогите разобраться, что то не то с инсертом, а вроде работал и если не сложно remove помогите реализовать!!! 

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  Linc.rar 37,15 Kb
PM MAIL   Вверх
rehvi
Дата 27.3.2013, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.3.2013

Репутация: нет
Всего: нет



Цитата(rehvi @ 27.3.2013,  02:43)
Помогите разобраться, что то не то с инсертом, а вроде работал и если не сложно remove помогите реализовать!!!

Народ помогите, срочно нужно!!!
PM MAIL   Вверх
azesmcar
Дата 27.3.2013, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 2
Всего: 211



Код покажи и скажи что конкретно не работает. Качать исходники никому неохота. Так ты ответа не дождешься.
PM   Вверх
rehvi
Дата 27.3.2013, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.3.2013

Репутация: нет
Всего: нет



Код

using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication50 {
    class Program {
        static void Main(string[] args) {
            



            LinkedList l = new LinkedList();
            l.Add("BMW");
            l.Add("Audi");
            l.Add("Opel");
            l.Add("Mazda");
            l.Insert(0, "C#");


            for(int i = 0; i < l.Count; i++) {
                Console.WriteLine(l[i]); 
            }
            Console.ReadKey();
        }
    }
}

Код

using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication50 {
    public class LinkedListItem {
        public object Value { get; set; }
        public LinkedListItem Left { get; set; }
        public LinkedListItem Right { get; set; }
    }

    public class LinkedList : IList {
        private LinkedListItem _firstItem;
        private LinkedListItem _lastItem;
        private int _count;

        #region IList Members

        public int Add(object value) {
            LinkedListItem item = new LinkedListItem() { Value = value };
            if(_lastItem != null) {
                _lastItem.Right = item;
                item.Left = _lastItem;
                _lastItem = item;
            } else {
                _firstItem = _lastItem = item;
            }
            return _count++;
        }

        public void Clear() {
            _firstItem = _lastItem = null;
            _count = 0;
        }

        public bool Contains(object value) {
            throw new NotImplementedException();
        }

        public int IndexOf(object value) {
            throw new NotImplementedException();
        }

        public void Insert(int index, object value) {
            LinkedListItem newItem = new LinkedListItem() { Value = value };
            LinkedListItem item = _firstItem;
            for(int i = 0; i < index - 1; i++) {
                item = item.Right;
            }
            newItem.Right = item;
            item.Left = newItem;
            newItem.Left = item;

        }

        public bool IsFixedSize {
            get { throw new NotImplementedException(); }
        }

        public bool IsReadOnly {
            get { throw new NotImplementedException(); }
        }

        public void Remove(object value) {
            throw new NotImplementedException();
        }

        public void RemoveAt(int index) {
            throw new NotImplementedException();
        }

        public object this[int index] {
            get {
                //LinkedListItem item = _firstItem;
                //for(int i = 0; i < index; i++) {
                //    item = item.Right;
                //}
                //return item.Value;
                return GetItemByIndex(index).Value;
            }
            set {
                //LinkedListItem item = _firstItem;
                //for(int i = 0; i < index; i++) {
                //    item = item.Right;
                //}
                //item.Value = value;
                GetItemByIndex(index).Value = value;
            }
        }

        private LinkedListItem GetItemByIndex(int index) {
            LinkedListItem item = _firstItem;
            for(int i = 0; i < index; i++) {
                item = item.Right;
            }
            return item;
        }

        #endregion

        #region ICollection Members

        public void CopyTo(Array array, int index) {
            throw new NotImplementedException();
        }

        public int Count {
            get { return _count; }
        }

        public bool IsSynchronized {
            get { throw new NotImplementedException(); }
        }

        public object SyncRoot {
            get { throw new NotImplementedException(); }
        }

        #endregion

        #region IEnumerable Members

        public IEnumerator GetEnumerator() {
            throw new NotImplementedException();
        }

        #endregion
    }
}


Добавлено через 1 минуту и 38 секунд
Цитата(azesmcar @ 27.3.2013,  12:41)
Код покажи и скажи что конкретно не работает. Качать исходники никому неохота. Так ты ответа не дождешься.

Не работает метод contains + помоги разобраться с методом remove
PM MAIL   Вверх
IBS
Дата 27.3.2013, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 29.7.2008
Где: Белоруссия

Репутация: 1
Всего: 6



Цитата

Не работает метод contains 

Цитата(rehvi @  27.3.2013,  12:56 Найти цитируемый пост)
public bool Contains(object value) {
            throw new NotImplementedException();
        }

Странно, должен работать!

Это сообщение отредактировал(а) IBS - 27.3.2013, 13:51
PM MAIL   Вверх
rehvi
Дата 27.3.2013, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.3.2013

Репутация: нет
Всего: нет



Цитата(IBS @ 27.3.2013,  13:46)
Цитата

Не работает метод contains 

Цитата(rehvi @  27.3.2013,  12:56 Найти цитируемый пост)
public bool Contains(object value) {
            throw new NotImplementedException();
        }

Странно, должен работать!

ой я перепутал, insert ек работает!"
PM MAIL   Вверх
IBS
Дата 27.3.2013, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 29.7.2008
Где: Белоруссия

Репутация: 1
Всего: 6



Цитата(rehvi @  27.3.2013,  12:56 Найти цитируемый пост)

            newItem.Right = item;
            item.Left = newItem;
            newItem.Left = item;


newItem.Right = item;
newItem.Left = item.Left;
item.Left.Right = newItem;
item.Left = newItem;

Походу как-то так должно быть. Не тестил
PM MAIL   Вверх
rehvi
Дата 27.3.2013, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.3.2013

Репутация: нет
Всего: нет



Цитата(IBS @ 27.3.2013,  14:27)
Цитата(rehvi @  27.3.2013,  12:56 Найти цитируемый пост)

            newItem.Right = item;
            item.Left = newItem;
            newItem.Left = item;


newItem.Right = item;
newItem.Left = item.Left;
item.Left.Right = newItem;
item.Left = newItem;

Походу как-то так должно быть. Не тестил

Ошибку выдает вот здесь: item.Left.Right = newItem;
PM MAIL   Вверх
IBS
Дата 27.3.2013, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 29.7.2008
Где: Белоруссия

Репутация: 1
Всего: 6



Цитата(rehvi @  27.3.2013,  14:36 Найти цитируемый пост)
Ошибку выдает вот здесь: item.Left.Right = newItem; 


Это был примерный код. Если элемент первый, то left==null и будет ошибка
Отлаживать кто будет?!
PM MAIL   Вверх
rehvi
Дата 28.3.2013, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.3.2013

Репутация: нет
Всего: нет



Цитата(IBS @ 27.3.2013,  18:24)
Цитата(rehvi @  27.3.2013,  14:36 Найти цитируемый пост)
Ошибку выдает вот здесь: item.Left.Right = newItem; 


Это был примерный код. Если элемент первый, то left==null и будет ошибка
Отлаживать кто будет?!

Есть идеи как исправить?
PM MAIL   Вверх
IBS
Дата 29.3.2013, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 29.7.2008
Где: Белоруссия

Репутация: 1
Всего: 6




ну понапихай проверок на null

Это сообщение отредактировал(а) IBS - 29.3.2013, 15:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0708 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.