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

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

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

Односвязный список, поменять местами элементы (максимальный и последний) - C++

12.06.2013, 18:07. Просмотров 466. Ответов 1
Метки нет (Все метки)

Дан не пустой односвязный список, в котором каждый элемент имеет тип:

C++
1
2
3
struct elem {
int num;
elem* next; }
Написать функцию void max_last (elem*&first, elem*&last), которая меняет местами два элемента в списке: максимальный и последний.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2013, 18:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Односвязный список, поменять местами элементы (максимальный и последний) (C++):

Односвязный список. Поменять местами элементы - C++
Привет. Есть односвязный список. Например: 5 элементов, поменять местами 2 и 3 Как поменять местами элементы p1 и p2. Что я сделал? ...

Поменять местами максимальный и последний элементы последовательности - C++
Дана последовательность а1…а30. поменять местами максимальный и последний элементы #include <stdio.h> #include <stdlib.h> int main() ...

Поменять местами максимальный и последний отрицательный элементы массива - C++
что-то не могу понять как делать Поменять местами максимальный и последний отрицательный элементы массива А (40).

Поменять местами первый минимальный и последний максимальный элементы массива - C++
"Дан одномерный целочисленный массив из N элементов, заданных случайными числами на промежутке [a; b). Поменять местами первый минимальный...

Массивы. Поменять местами первый минимальный и последний максимальный элементы - C++
Условие: Дана последовательность из n действительных чисел. Замечание: Решить используя одномерный массив. Задача: Поменять...

Поменять в списке местами первый минимальный и последний максимальный элементы - C++
односвязный список stl (c++) На основе данных входного файла создать список. Поменять в списке местами первый минимальный и последний...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
12.06.2013, 18:23 #2
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
// Найти элем. по значению
elem *find_by_key(elem *first, int key) {
    while (first->next) {
        if (first->num == key) {
            return first;
        }
        first = first->next;
    }
    return NULL;
}
 
// найти элемент с макс. значением
elem *get_max(elem *first) {
    int max = first->num;
    elem *p = first;
    while (p->next) {
        p = p->next;
        if (p->num > max) {
            max = p->num;
        }
    }
    return find_by_key(first, max);
}
 
void max_last(elem *first, elem *last) {
    elem *p = get_max(first);
    if (p->num != last->num) {
        int temp = p->num;
        p->num = last->num;
        last->num = temp;
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2013, 18:23
Привет! Вот еще темы с ответами:

Поменять в массиве местами первый максимальный и последний минимальный элементы - C++
помогите пожалуйста

В каждой строке матрицы поменять местами максимальный и первый, минимальный и последний элементы - C++
Найти в каждой строке матрицы максимальный и минимальный элементы и поместить их на место первого и последнего элемента строки...

Создать динамический список, поменять местами последний и первый элементы списка, предпоследний и второй и т.д. - C++
Всем привет. Подкиньте идею, весь мозг сломал. Задание:Создать динамический список. Поменять местами последний и первый элементы списка,...

Поменять местами последний столбик матрицы со столбиком, который содержит максимальный элемент - C++
#include <iostream> #include <conio.h> using namespace std; int massiv(int n, int m) { int mass; for (int i(1); i <= n;...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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