Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Вставка элемента в однонаправленный список

В динамические структуры легко добавлять элементы, так как для этого достаточно изменить значения адресных полей. Вставка первого и последующих элементов списка отличаются друг от друга. Поэтому в функции, реализующей данную операцию, сначала осуществляется проверка, на какое место вставляется элемент. Далее реализуется соответствующий алгоритм добавления ( рис. 29.2).


Рис. 29.2.Вставка элемента в однонаправленный список

/*вставка элемента с заданным номером в однонаправленный список*/

Single_List* Insert_Item_Single_List(Single_List* Head,

int Number, int DataItem){

Number--;

Single_List *NewItem=new(Single_List);

NewItem->Data=DataItem;

NewItem->Next = NULL;

if (Head == NULL) {//список пуст

Head = NewItem;//создаем первый элемент списка

}

else {//список не пуст

Single_List *Current=Head;

for(int i=1; i < Number && Current->Next!=NULL; i++)

Current=Current->Next;

if (Number == 0){

//вставляем новый элемент на первое место

NewItem->Next = Head;

Head = NewItem;

}

else {//вставляем новый элемент на непервое место

if (Current->Next != NULL)

NewItem->Next = Current->Next;

Current->Next = NewItem;

}

}

return Head;

}


<== предыдущая страница | следующая страница ==>
Односвязный список: структура, машинное представление , операции | Удаление элемента из однонаправленного списка

Дата добавления: 2015-07-26; просмотров: 155; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.002 сек.