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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
zhenya.ya
1 / 1 / 0
Регистрация: 29.11.2009
Сообщений: 305
#1

Поменять местами элементы очереди - C++

14.04.2010, 12:59. Просмотров 1777. Ответов 3
Метки нет (Все метки)

Напишите как поменять местами эл-ты очереди:
C++
1
2
3
4
5
struct queue{
int c;
queue *next;
}*p,*head,*tail;
...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2010, 12:59     Поменять местами элементы очереди
Посмотрите здесь:

Поменять местами элементы в очереди - C++
1-ая Сделать очередь (любым способом). Распечатать её содержимое. Поменять местами первый и ТРЕТИЙ элемент. Снова распечатать. ...

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

Поменять местами элементы - C++
// Lab5. Задача 1.cpp : Defines the entry point for the console application. // Задан двумерный массив float a. Поменять местами max...

Поменять местами элементы - C++
Поменять местами элементы k-го столбца и 1-й строки матрицы A = (a ), i = j = 1,2, ..., n.

Поменять местами элементы массива - C++
Здравствуйте! В задании сказано создать динамический массив, в который пользователь сам задает числа и вывести 2-ой динамический массив без...

Поменять элементы местами в массиве - C++
swap (myArray,myArray); swap (myArray,myArray); swap (myArray,myArray); Это пытался привести через цикл. Подскажите где...

Поменять местами элементы в массиве - C++
Народ не могу понять допустим у меня есть массив #include <iostream> #include <string> int main() { std::string...

Поменять местами элементы матрицы - C++
Как поменять местами минимальный элемент массива А(57) и матрицы В(7*5)

Поменять местами элементы в массиве - C++
Решаю задачу из учебника С. Праты Нужно заполнить массив значениями, а затем кроме первого и последнего вывести их в обратном порядке. ...

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

Поменять местами элементы матрицы - C++
ЗАДАНИЕ ТАКОЕ: Дано: прямоугольные матрицы A и B. Поменять местами последние отрицательные элементы матрицы. Нахождение последнего...

Поменять местами элементы массива - C++
Дано одномерный массив с четным количеством элементов. Поменять местами первый элемент с последним, второй с предпоследним, и т.д. Вывести...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
14.04.2010, 13:03     Поменять местами элементы очереди #2
Только через другую очередь.
zhenya.ya
1 / 1 / 0
Регистрация: 29.11.2009
Сообщений: 305
14.04.2010, 13:16  [ТС]     Поменять местами элементы очереди #3
Есть очередь. Как из нее сделать Дек???

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
struct queue{
    char c;
    queue *next;
}*p,*head,*tail;
 
void push(void);
void pop(void);
void show(void);
 
int size=0;
 
int main(){
    char key;
    int done=false;
    while(!done){
        system("cls");
        show();
        printf("\nA)dd\nD)elete\nQ)uit\n");
        key=getchar();
        switch(toupper(key)){
            case 'A':
                push();
                break;
            case 'D':
                pop();
                break;
            case 'Q':
                done=true;
                break;
        }
    }
    return 0;
}
 
void push(){
    printf("input:\n");
    p=new queue;
    scanf("%s",&p->c);
    p->next=NULL;
    if(head&&tail->c==p->c){
        printf("size: %d\n",size);//system("PAUSE");
        delete p;
    }
    else{
        if(head==NULL)
            head=p;
        else
            tail->next=p;
        tail=p;
        size++;
    }
}
 
void pop(){
    p=head;
    if(head!=0){
        size--;
        head=head->next;
    }
    else 
        tail=0;
    delete p;
}
 
void show(){
    p=head;
    if(p==NULL)
        printf("queue is empty\n");
    else 
        printf("\nQueue\n");
    while(p){
        printf("%c\n",p->c);
        p=p->next;
    }
}
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
14.04.2010, 13:37     Поменять местами элементы очереди #4
Читай элемемнты в другую очердь, пока твоя очередь не кончится. При этом меняемые элементы прочитай в переменные. Потом прочитай всю вспомогательную очередь назад в основную. При этом, дойдя до каждого из меняемых элементов вместо чтения вспомогательной очереди в основную протолкни в основную переменные, в которые читал эти элементы, но в обратном порядке. Иначе нельзя. Если список допускает доступ к не первому элементу, или неразрушающий доступ к первому элементу, то это - не очередь. А третьего не дано.
Yandex
Объявления
14.04.2010, 13:37     Поменять местами элементы очереди
Ответ Создать тему
Опции темы

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