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

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

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

Поменять местами две половины очереди без использования дополнительной памяти - C++

06.06.2011, 19:15. Просмотров 502. Ответов 4
Метки нет (Все метки)

поменять местами две половины очереди местами без использования дополнительной памяти(new)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2011, 19:15     Поменять местами две половины очереди без использования дополнительной памяти
Посмотрите здесь:

C++ Поменять местами первую и вторую половины массива
Столбцы левой половины массива поменять местами со столбцами правой половины C++
Поменять местами 2 половины строки // С++ C++
Поменять местами первые слова (слова разделены пробелами) заданных строк, без использования процедур C++
Поменять местами левую и правую половины матрицы C++
Поменять местами значения двух переменных без использования дополнительной переменной C++
C++ Поменять местами значения двух переменных, не используя дополнительной
C++ Создать одномерный массив, заполнить его случайными числами. Поменять в массиве местами две его половины
Поменять местами содержимое файлов - C++ без использования третьего файла C++
Поменять местами верхнюю и нижнюю половины матрицы C++
C++ Столбцы левой половины матрицы поменять местами со столбцами правой половины
Поменять местами правую и левую половины матницы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
06.06.2011, 19:22     Поменять местами две половины очереди без использования дополнительной памяти #2
функцию swap напиши и меняй наздоровье, без new
gor
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 4
06.06.2011, 20:32  [ТС]     Поменять местами две половины очереди без использования дополнительной памяти #3
Цитата Сообщение от pito211 Посмотреть сообщение
функцию swap напиши и меняй наздоровье, без new
через стандартную элементы очереди не меняются
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
06.06.2011, 20:50     Поменять местами две половины очереди без использования дополнительной памяти #4
Цитата Сообщение от gor Посмотреть сообщение
элементы очереди
Сильно зависит от того, что Вы "очередью" называете... Вот пример с массивом
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <string.h>
 
void dump(const int * arr, size_t size) { while ( size-- ) printf("%d ", *arr++); }
 
#define SIZE 10
int main(void){
    int arr[SIZE] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, buf[SIZE];
    
    printf("Before: ");
    dump(arr, SIZE);
    
    memcpy(buf, arr, sizeof(int) * SIZE / 2);
    memmove(arr, arr + SIZE / 2, sizeof(int) * SIZE / 2);
    memcpy(arr + SIZE / 2, buf, sizeof(int) * SIZE / 2);
    
    printf("\nAfter:  ");
    dump(arr, SIZE);
    
    printf("\n");
    return 0;
}
gor
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 4
06.06.2011, 22:29  [ТС]     Поменять местами две половины очереди без использования дополнительной памяти #5
Цитата Сообщение от easybudda Посмотреть сообщение
Сильно зависит от того, что Вы "очередью" называете... Вот пример с массивом
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <string.h>
 
void dump(const int * arr, size_t size) { while ( size-- ) printf("%d ", *arr++); }
 
#define SIZE 10
int main(void){
    int arr[SIZE] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, buf[SIZE];
    
    printf("Before: ");
    dump(arr, SIZE);
    
    memcpy(buf, arr, sizeof(int) * SIZE / 2);
    memmove(arr, arr + SIZE / 2, sizeof(int) * SIZE / 2);
    memcpy(arr + SIZE / 2, buf, sizeof(int) * SIZE / 2);
    
    printf("\nAfter:  ");
    dump(arr, SIZE);
    
    printf("\n");
    return 0;
}
надо динамическая структура очередь...через указатели

Добавлено через 1 час 8 минут
спасибо,разобрался.тема закрыта
Yandex
Объявления
06.06.2011, 22:29     Поменять местами две половины очереди без использования дополнительной памяти
Ответ Создать тему
Опции темы

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