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

Динамическое программирование, стек на базе списка... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ отредактировать строки. написано только начало..как закончить используя функции.? http://www.cyberforum.ru/cpp-beginners/thread272931.html
задача-вводиться строка. отредактировать ее,продублировав все слова начинающиеся на заданную букву и удалив все слова, не содержащую эту же букву. заданная буква вводиться дополнительно. мое начало программы : #include <iostream.h> #include <conio.h> #include <stdlib.h> #include <string.h> int main() {
C++ Умножение матриц Написал программу умножения матриц, вот отдельная функция, подскажите как протестировать на матрицы высоких порядков 1000, 1500, все матрицы квадратные void multiplication(double **first, double **second, double **result, int n) { int i,j,l; for (i=0; i<n; i++) { for (l=0; l<n; l++) { result=0; http://www.cyberforum.ru/cpp-beginners/thread272918.html
C++ Поразрядные операции, объясните смысл выражений
День добрый, начинаю изучать поразрядные операции,вот попался пример#include <iostream> #include <stdio.h> using namespace std; int main(int argc, char** argv) { unsigned x; void DisplayBits(unsigned); cout<<"Введите положительное целочисленное значение\n"; cin>>x;
C++ Будильник.
Написать программу будильник в С++ .
C++ локаль(locale) http://www.cyberforum.ru/cpp-beginners/thread272840.html
int main() { std::locale::global(std::locale("rus")); //std::cout.imbue(std::locale("rus")); std::cout << "привет!"; std::cin.get(); }
C++ генеалогическое дерево в С++ помогите пожалуйста кто-нибудь: Создать систему работы с генеалогическим древом. Решение должно содержать графический интер- фейс, позволяющий сохранять, загружать и редактировать дерево.в С++ подробнее

Показать сообщение отдельно
arch-vile
 Аватар для arch-vile
3151 / 766 / 23
Регистрация: 12.07.2009
Сообщений: 3,184
09.04.2011, 13:10     Динамическое программирование, стек на базе списка...
Доброе время суток...
Имеется такой код (рабочий), реализация стека на базе списка:
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
struct stack
{
    int data;
    stack *next;
}
*first; //это указатель на структуру stack?
 
//добавление элемента в стек >>
int push(int& size, int my_data, stack **first)
{
    stack *newstack = new stack;
    newstack->data = my_data;
    newstack->next = *first;
    *first = newstack;
    size++;
    return 1;
}
 
//удаление элемента из стека
int pop(int& size, int& my_data, stack **first)
{
    if (size == 0) return 0;
    else
    { 
        stack *current = *first;
        my_data = current->data;
        *first = (**first).next;
        delete current;
        size--;
        return 1;
    }
}
 
//Инициализация стека
int init(int& size, stack **first)
{
    *first = NULL;
    size = 0;
    return 1;
}
Пытаюсь разобраться, однако кое-чего не понимаю...
Что означает:
C++
1
*first = [B](**first).next;[/B] //такая форма записи (через точку) для доступа к элементам структуры stack?
и почему при описании функций в списке формальных параметров используются двойные указатели (**first)
?..
Заранее спасибо!..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru