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

В динамические структуры легко добавлять элементы, так как для этого достаточно изменить значения адресных полей. Вставка первого и последующих элементов списка отличаются друг от друга. Поэтому в функции, реализующей данную операцию, сначала осуществляется проверка, на какое место вставляется элемент. Далее реализуется соответствующий алгоритм добавления (рис. 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-08-14; просмотров: 841;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.