Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
studentkatgu
0 / 0 / 0
Регистрация: 05.05.2012
Сообщений: 9
#1

Односвязные списки - C++

15.06.2012, 23:14. Просмотров 593. Ответов 1
Метки нет (Все метки)

помогите написать функцию которая меняет местами два элемента списка, заданные значением информационной части.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Node *peremena(Node *&head,int x,int y){
    Node *temp = head;
    Node *head1=coppy(temp);
    Node *el=head;
    Node *el1=head;
    while (head->next!=NULL){
 
        if (head->info ==x){
            el->info = head->info;
            el->next = head->next; 
            cout<<"one"<<el->info<<endl; 
            head=head->next;
            while (head){
                 if (head->info ==y){
                   el1->info = head->info;
                   el1->next = head->next; 
                   cout<<"two  "<<el1->info<<endl; 
                   break;}
                   else head=head->next;
            }
        }
        else head=head->next;
    }
 
    while (head1){
        if (head1->info==x){
            head1=el1;
            cout <<"head 8     "<<head1->info<<endl;
        }
    }
 
    return temp;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2012, 23:14     Односвязные списки
Посмотрите здесь:

односвязные списки C++
C++ Односвязные списки
Односвязные лнейные списки C++
Односвязные списки C++
Односвязные списки C++
Линейные Односвязные Списки С++ C++
C++ Односвязные списки С++
C++ Односвязные списки (очередь)
односвязные списки С++ C++
Односвязные и двусвязные списки C++
C++ Односвязные списки
Односвязные списки C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hrundel
26 / 26 / 2
Регистрация: 27.05.2012
Сообщений: 114
16.06.2012, 00:54     Односвязные списки #2
Наверное надо просто перелинковать указатели в правильной последовательности, чтобы не разорвать связность списка.

1. Цель указателя next элемента 1 передать вспомогательному указателю temp
2. Цель указателя next элемента 2 передать указателю next элемента 1
3. Указатель на элемент 1 установить на элемент 2
4. Указатель на элемент 2 установить на элемент 1
5. Цель указателя temp передать указателю next элемента 2
Yandex
Объявления
16.06.2012, 00:54     Односвязные списки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru