Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
1 / 1 / 2
Регистрация: 29.11.2009
Сообщений: 315
1

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

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

Напишите как поменять местами эл-ты очереди:
C++
1
2
3
4
5
struct queue{
int c;
queue *next;
}*p,*head,*tail;
...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2010, 12:59
Ответы с готовыми решениями:

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

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

Поменять местами первый и последний элементы. Все единичные элементы массива заменить нулями
Люди добрые, помогите плиз с задачками. В массиве Р, размерности 150 150. поменять местами первый...

Поменять местами элементы главной и побочной диагонали матрицы и найти столбцы, элементы которых убывают
С++ Задана матрица A(n,n). Поменять местами элементы главной и побочной диагонали. В...

3
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
14.04.2010, 13:03 2
Только через другую очередь.
0
1 / 1 / 2
Регистрация: 29.11.2009
Сообщений: 315
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;
    }
}
0
4196 / 1789 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
14.04.2010, 13:37 4
Читай элемемнты в другую очердь, пока твоя очередь не кончится. При этом меняемые элементы прочитай в переменные. Потом прочитай всю вспомогательную очередь назад в основную. При этом, дойдя до каждого из меняемых элементов вместо чтения вспомогательной очереди в основную протолкни в основную переменные, в которые читал эти элементы, но в обратном порядке. Иначе нельзя. Если список допускает доступ к не первому элементу, или неразрушающий доступ к первому элементу, то это - не очередь. А третьего не дано.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2010, 13:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти первый минимальный и последний максимальный элементы массива. Поменять местами столбцы, содержащие эти элементы
Найти первый минимальный и последний максимальный элементы массива. Поменять местами столбцы,...

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

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

Поменять местами элементы массива
Подскажите каким образом в двумерном массиве можно поменять местами второй и предпоследний...


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

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

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