Здесь можно скачать рефераты бесплатно



Немного рекламы

Реферат на тему "Шпоры по Си++. Шаблоны стандартных структур данных"

Раздел рефератов: "Программирование, базы данных"


Бесплатно скачать реферат:

Введите 111027824:
Формат: html (935846 байт)
rar (13729 байт)
zip (26383 байт)


Скачали: 44 раза

//----------------------------------------------------------------------------

// 1. стек представлен динамическим массивом

// 1. хранение указателей на объекты

// 1. включение элемента с сохранением упорядоченности

template <class T> class StackDA

{ private:

T **data; //динамический МУ на данные

int size,sp; //размер стека,кол-во элементов

public:

StackDA(int _size);

int Push(T &element); //результат:если стек полный то [-1]

//иначе, количество элементов

T *Pop(void); //результат:если стек пустой то [NULL]

~StackDA(void); };

template <class T> StackDA<T>::StackDA(int _size)

{ size=_size;

data=(T**)new char[size*sizeof(T*)]; //выделение памяти под МУ

sp=0; }

template <class T> int StackDA<T>::Push(T &element)

{ if(sp==size) return -1; //стек полный

for(int k=0;k<sp&&element<*data[k];k++);

for(int p=++sp;p>k;p--) data[p]=data[p-1];

data[k]=&element;

return sp; }

template <class T> T *StackDA<T>::Pop(void)

{ if(sp==0) return NULL; //стек пустой

return data[--sp]; }

template <class T> StackDA<T>::~StackDA(void)

{ delete data; }

void main()

{ StackDA<int> s(20); //стек из 20-ти указателей на int

int a=13,b=5,c=7;

s.Push(a); s.Push(b); s.Push(c); //укладываем данные

int *pa=s.Pop(),*pb=s.Pop(),*pc=s.Pop();}//вытаскиваем упорядоченные

//по возрастанию эл-ты

//----------------------------------------------------------------------------

// 1. стек представлен динамическим массивом

// 1.



Бесплатно скачать реферат:

Введите 111027824:
Формат: html (935846 байт)
rar (13729 байт)
zip (26383 байт)


Скачали: 44 раза


Толстовки и футболки



Немного рекламы

У нас только лучшие бесплатные рефераты


Также смотрите:



Немного рекламы