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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В игре после каждого хода реализовать вывод сообщения на экран http://www.cyberforum.ru/cpp-beginners/thread1660355.html
#include "stdafx.h" #include <iostream> #include <time.h> #include <cstdlib> #include <math.h> #include "stdio.h" #include "conio.h" using namespace std;
C++ Оптимизировать алгоритм проверки ударения слов Здравствуйте, уважаемые участники форума. На образовательном сайте решал задание, система решение приняла. Так как я неопытный в программировании, мой алгоритм далёк от совершенства. Помогите,... http://www.cyberforum.ru/cpp-beginners/thread1660346.html
C++ Каким образом осуществить циклический сдвиг на К элементов вправо в массиве?
Объясните пожалуйста ход решения задачи: : В массиве A(N) осуществите циклический сдвиг на K элементов вправо (K < N): последние K элементов перемещаются на первые K мест. Новый массив не...
Подключение своих библиотек C++
Ошибка: не удается открыть источник файл "mystruct.h". Все бы ничего, если бы не написал библиотеку, но я написал. MYSTRUCT.H #include<string> #include<vector> #pragma once using namespace std;...
C++ Используя указатели, пеpенести в хвост одномеpного массива пеpвый отpицательный элемент http://www.cyberforum.ru/cpp-beginners/thread1660320.html
Используя указатели, пеpенести в хвост одномеpного массива случайных чисел в диапазоне -10 ... 9 размером 20 пеpвый отpицательный элемент, а в начало одномеpного массива пеpенести пеpвый нулевой...
C++ Определить принадлежит ли точка с координатами (x; y) заштрихованной части плоскости. Даны вещественные числа x и y. Определить принадлежит ли точка с координатами (x; y) заштрихованной части плоскости. подробнее

Показать сообщение отдельно
GaRiCk7
3 / 3 / 1
Регистрация: 09.10.2013
Сообщений: 52

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

11.02.2016, 22:06. Просмотров 177. Ответов 2
Метки (Все метки)

"Односвязный список 2.exe" (Win32). Загружено "C:\Users\Владислав\Documents\Visual Studio 2012\Projects\Односвязный список 2\Debug\Односвязный список 2.exe". Символы загружены.
"Односвязный список 2.exe" (Win32). Загружено "C:\Windows\SysWOW64\ntdll.dll". Невозможно найти или открыть файл PDB.
"Односвязный список 2.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel32.dll". Невозможно найти или открыть файл PDB.
"Односвязный список 2.exe" (Win32). Загружено "C:\Windows\SysWOW64\KernelBase.dll". Символы загружены.
"Односвязный список 2.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcp110d.dll". Символы загружены.
"Односвязный список 2.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcr110d.dll". Символы загружены.

P.S.
В чем проблема, не могу понять!!! В настройках я поставил, на то чтобы автоматически скачивало недостающие пакеты, пакеты скачало, результат компиляции не изменился!





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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#include <iostream>
#include <conio.h>
 
 
using namespace std;
 
struct A
{
    int key;
};
 
struct List
{
    A a;
    List *next;
 
};
 
void Print(List *b)
{
    List *print=b;
    while (print)
    {
        cout << print->a.key << " -> " ;
        print = print->next;
    }
    cout<<"NULL\n";
 
}
 
void Init(List **begin)
{
    *begin = new List;
    
    A a[5]={43,56,78,100,511};
 
    (*begin)->a.key = 20;
    (*begin)->next = NULL;
 
    List *end = *begin;
 
    for(int i=0; i<5; i++)
    {
        end->next = new List;
        end = end->next;
        end->a = a[i];
        end->next = NULL;
    }
 
 
}
 
void Add_begin(List **begin, const A &a)
{
    List *t = new List;
    t->a = a;
    t->next = *begin;
    *begin = t;
}
 
void Insert(List **begin,const A &a)
{
    List *ins = new List;
    ins->a = a;
    
    if (*begin == NULL)
    {
        ins->next = NULL;
        *begin = ins;
        return;
    }
 
    List *t = *begin;
 
    if (t->a.key > ins->a.key)
    {
        ins->next = t;
        *begin = ins;
        return;
    }
 
    List *t1 = t->next;
 
    while(t1)
    {
        if(t->a.key < ins->a.key && ins->a.key <= t1->a.key)
        {
            t->next = ins;
            ins->next = t1;
            return;
        }
    }
    t->next = ins;
    ins->next = NULL;
}
 
void Delete(List **begin, const A &a)
{
    if (*begin==NULL)
    {
        return;
    }
 
    List *t = *begin;
    if(t->a.key == a.key)
    {
        *begin = t->next;
        delete t;
        return;
    }
 
    List *t1 = t->next;
 
    while (t1)
    {
        if(t1->a.key == a.key)
        {
            t->next = t1->next;
            delete t1;
            return;
        }
        t=t1;
        t1=t1->next;
 
    }
 
}
 
void Free(List **begin)
 
{
    if (*begin==0) return;
    List *p = *begin;
    List *t;
 
    while (p)
    {
        t=p;
        p=p->next;
        delete t;
    }
    *begin = NULL;
}
 
int main()
{
 
    setlocale (LC_ALL, "Russian");
 
    List *begin = NULL;
    A a={80}, b={56};
    
    
    Init(&begin);
    Print(begin);
    Insert(&begin,a);
    Print(begin);
    Delete(&begin,b);
    Print(begin);
    Free(&begin);
    Print(begin);
 
    system("pause");
    _getch();
    return 0;
}
Вывод должен осуществляться 4 раза как показано в main, а осуществляется 1 раз, может что-то с отладчиком? Я без понятия...
0
Миниатюры
Односвязный список  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru