рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Шпоры по Си. Шаблоны стандартных структур данных

Шпоры по Си. Шаблоны стандартных структур данных - раздел Программирование, 1. Стек Представлен Динамическим Массивом 1. Хранение Указателей На Объекты 1...

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. хранение указателей на объекты 2. поиск и возвращение минимального объекта template class T class StackDA private T data динамический МУ на данные int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL T FindMin void 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 стек полный data sp 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 template class T T StackDA T FindMin void if sp 0 return NULL стек пустой T min data 0 for int k 1 k sp k if data k min min data k поиск мин. return min 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 m s.FindMin поиск мин. 1. стек представлен динамическим массивом 1. хранение указателей на объекты 3. сортировка любым методом template class T class StackDA private T data динамический МУ на данные int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL void Sort void 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 стек полный data sp element return sp template class T T StackDA T Pop void if sp 0 return NULL стек пустой return data sp template class T void StackDA T Sort void for int i 0 i sp-1 i for int j i 1 j sp j if data j data i T temp data j data j data i data i temp обмен 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 укладываем данные s.Sort int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем упорядоченные по возрастанию эл-ты 1. стек представлен динамическим массивом 1. хранение указателей на объекты 4. двоичный поиск по ключу template class T class StackDA private T data динамический МУ на данные int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL void Sort void T FindBin T key двоичный поиск 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 стек полный data sp element return sp template class T T StackDA T Pop void if sp 0 return NULL стек пустой return data sp template class T void StackDA T Sort void for int i 0 i sp-1 i for int j i 1 j sp j if data j data i T temp data j data j data i data i temp обмен template class T T StackDA T FindBin T key int a 0,b sp-1 начало,конец отрезка while a b int m a b 2 середина if data m key return data m совпало с ключом if data m key a m 1 правая часть else b m-1 левая часть return NULL не найден template class T StackDA T StackDA void delete data void main StackDA int s 20 стек из 20-ти указателей на int int a 13,b 5,c 7,d 13 s. Push a s.Push b s.Push c укладываем данные s.Sort int k s.FindBin d поиск 1. стек представлен динамическим массивом 1. хранение указателей на объекты 5. включение элемента по номеру template class T class StackDA private T data динамический МУ на данные int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL int Insert T element,int num включение по номеру результат если нельзя то -1 иначе, количество элементов 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 стек полный data sp element return sp template class T T StackDA T Pop void if sp 0 return NULL стек пустой return data sp template class T int StackDA T Insert T element,int num if sp size num sp num 0 return -1 стек полный или номер слишком большой for int p sp p num p data p data p-1 data num element return 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. Insert c,1 вставляем элемент int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 1. стек представлен динамическим массивом 1. хранение указателей на объекты 6. исключение элемента по номеру template class T class StackDA private T data динамический МУ на данные int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL T Exclude int num исключение по номеру результат если нельзя то 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 стек полный data sp element return sp template class T T StackDA T Pop void if sp 0 return NULL стек пустой return data sp template class T T StackDA T Exclude int num if sp 0 num sp num 0 return NULL стек пустой или номер слишком большой T temp data num for int p num p sp-1 p data p data p 1 sp return temp 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 k s.Exclude 1 вытаскиваем элемент int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 1. стек представлен динамическим массивом 1. хранение указателей на объекты 7. поиск и возвращение элемента по номеру template class T class StackDA private T data динамический МУ на данные int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL T operator int num взятие по номеру результат если нельзя то 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 стек полный data sp element return sp template class T T StackDA T Pop void if sp 0 return NULL стек пустой return data sp template class T T StackDA T operator int num if sp 0 num sp num 0 return NULL стек пустой или номер слишком большой return data num 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 k s 1 берем элемент int pa s. Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 1. стек представлен динамическим массивом 2. хранение объектов 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 T size выделение памяти 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 s. Push 27 s.Push 13 s.Push 19 укладываем данные int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем упорядоченные по возрастанию эл-ты 1. стек представлен динамическим массивом 2. хранение объектов 2. поиск и возвращение минимального объекта template class T class StackDA private T data int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL T FindMin void StackDA void template class T StackDA T StackDA int size size size data T new T size выделение памяти sp 0 template class T int StackDA T Push T element if sp size return -1 стек полный data sp 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 template class T T StackDA T FindMin void if sp 0 return NULL стек пустой int min data 0 for int k 1 k sp k if data k data min min k поиск мин. return data min void main StackDA int s 20 стек из 20-ти int s.Push 55 s.Push 11 s.Push 33 укладываем данные int m s.FindMin поиск мин. 1. стек представлен динамическим массивом 2. хранение объектов 3. сортировка любым методом template class T class StackDA private T data int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL void Sort void StackDA void template class T StackDA T StackDA int size size size data T new T size выделение памяти sp 0 template class T int StackDA T Push T element if sp size return -1 стек полный data sp element return sp template class T T StackDA T Pop void if sp 0 return NULL стек пустой return data sp template class T void StackDA T Sort void for int i 0 i sp-1 i for int j i 1 j sp j if data j data i T temp data j data j data i data i temp обмен template class T StackDA T StackDA void delete data void main StackDA int s 20 стек из 20-ти int s.Push 35 s.Push 17 s.Push 29 укладываем данные s.Sort int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем упорядоченные по возрастанию эл-ты 1. стек представлен динамическим массивом 2. хранение объектов 4. двоичный поиск по ключу template class T class StackDA private T data int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL void Sort void T FindBin T key двоичный поиск StackDA void template class T StackDA T StackDA int size size size data T new T size выделение памяти sp 0 template class T int StackDA T Push T element if sp size return -1 стек полный data sp element return sp template class T T StackDA T Pop void if sp 0 return NULL стек пустой return data sp template class T void StackDA T Sort void for int i 0 i sp-1 i for int j i 1 j sp j if data j data i T temp data j data j data i data i temp обмен template class T T StackDA T FindBin T key int a 0,b sp-1 начало,конец отрезка while a b int m a b 2 середина if data m key return data m совпало с ключом if data m key a m 1 правая часть else b m-1 левая часть return NULL не найден template class T StackDA T StackDA void delete data void main StackDA int s 20 стек из 20-ти int s.Push 78 s.Push 10 s.Push 5 укладываем данные s.Sort int k s.FindBin 78 поиск 1. стек представлен динамическим массивом 2. хранение объектов 5. включение элемента по номеру template class T class StackDA private T data int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL int Insert T element,int num включение по номеру результат если нельзя то -1 иначе, количество элементов StackDA void template class T StackDA T StackDA int size size size data T new T size выделение памяти sp 0 template class T int StackDA T Push T element if sp size return -1 стек полный data sp element return sp template class T T StackDA T Pop void if sp 0 return NULL стек пустой return data sp template class T int StackDA T Insert T element,int num if sp size num sp num 0 return -1 стек полный или номер слишком большой for int p sp p num p data p data p-1 data num element return sp template class T StackDA T StackDA void delete data void main StackDA int s 20 стек из 20-ти int s. Push 99 s.Push 45 укладываем данные s.Insert 33,1 вставляем элемент int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 1. стек представлен динамическим массивом 2. хранение объектов 6. исключение элемента по номеру template class T class StackDA private T data int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL void Exclude int num исключение по номеру результат если нельзя то NULL StackDA void template class T StackDA T StackDA int size size size data T new T size выделение памяти sp 0 template class T int StackDA T Push T element if sp size return -1 стек полный data sp element return sp template class T T StackDA T Pop void if sp 0 return NULL стек пустой return data sp template class T void StackDA T Exclude int num if sp 0 num sp num 0 return стек пустой или номер слишком большой for int p num p sp-1 p data p data p 1 sp template class T StackDA T StackDA void delete data void main StackDA int s 20 стек из 20-ти int s.Push 35 s.Push 11 s.Push 89 укладываем данные s.Exclude 1 вытаскиваем элемент int pa s. Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 1. стек представлен динамическим массивом 2. хранение объектов 7. поиск и возвращение элемента по номеру template class T class StackDA private T data int size,sp размер стека,кол-во элементов public StackDA int size int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL T operator int num взятие по номеру результат если нельзя то NULL StackDA void template class T StackDA T StackDA int size size size data T new T size выделение памяти sp 0 template class T int StackDA T Push T element if sp size return -1 стек полный data sp element return sp template class T T StackDA T Pop void if sp 0 return NULL стек пустой return data sp template class T T StackDA T operator int num if sp 0 num sp num 0 return NULL стек пустой или номер слишком большой return data num template class T StackDA T StackDA void delete data void main StackDA int s 20 стек из 20-ти int s.Push 54 s.Push 23 s.Push 87 укладываем данные int k s 1 берем элемент int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 2. стек представлен статическим массивом 1. хранение указателей на объекты 1. включение элемента с сохранением упорядоченности template class T, int size class StackSA private T data size cтатический МУ на данные int sp кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL template class T, int size StackSA T, size StackSA sp 0 template class T, int size int StackSA T, size 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, int size T StackSA T, size Pop void if sp 0 return NULL стек пустой return data sp void main StackSA int, 20 s стек из 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 вытаскиваем упорядоченные по возрастанию эл-ты 2. стек представлен cтатическим массивом 1. хранение указателей на объекты 2. поиск и возвращение минимального объекта template class T, int size class StackSA private T data size cтатический МУ на данные int sp кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL T FindMin void template class T, int size StackSA T, size StackSA sp 0 template class T, int size int StackSA T, size Push T element if sp size return -1 стек полный data sp element return sp template class T, int size T StackSA T, size Pop void if sp 0 return NULL стек пустой return data sp template class T, int size T StackSA T, size FindMin void if sp 0 return NULL стек пустой T min data 0 for int k 1 k sp k if data k min min data k поиск мин. return min void main StackSA int, 20 s стек из 20-ти указателей на int int a 13,b 5,c 7 s.Push a s.Push b s.Push c укладываем данные int m s. FindMin поиск мин. 2. стек представлен cтатическим массивом 1. хранение указателей на объекты 3. сортировка любым методом template class T, int size class StackSA private T data size статический МУ на данные int sp размер стека,кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL void Sort void template class T, int size StackSA T, size StackSA sp 0 template class T, int size int StackSA T, size Push T element if sp size return -1 стек полный data sp element return sp template class T, int size T StackSA T, size Pop void if sp 0 return NULL стек пустой return data sp template class T, int size void StackSA T, size Sort void for int i 0 i sp-1 i for int j i 1 j sp j if data j data i T temp data j data j data i data i temp обмен void main StackSA int, 20 s стек из 20-ти указателей на int int a 13,b 5,c 7 s.Push a s.Push b s.Push c укладываем данные s.Sort int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем упорядоченные по возрастанию эл-ты 2. стек представлен статическим массивом 1. хранение указателей на объекты 4. двоичный поиск по ключу template class T, int size class StackSA private T data size статический МУ на данные int sp кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL void Sort void T FindBin T key двоичный поиск template class T, int size StackSA T, size StackSA sp 0 template class T, int size int StackSA T, size Push T element if sp size return -1 стек полный data sp element return sp template class T, int size T StackSA T, size Pop void if sp 0 return NULL стек пустой return data sp template class T, int size void StackSA T, size Sort void for int i 0 i sp-1 i for int j i 1 j sp j if data j data i T temp data j data j data i data i temp обмен template class T, int size T StackSA T, size FindBin T key int a 0,b sp-1 начало,конец отрезка while a b int m a b 2 середина if data m key return data m совпало с ключом if data m key a m 1 правая часть else b m-1 левая часть return NULL не найден void main StackSA int, 20 s стек из 20-ти указателей на int int a 13,b 5,c 7,d 13 s.Push a s.Push b s.Push c укладываем данные s.Sort int k s.FindBin d поиск 2. стек представлен статическим массивом 1. хранение указателей на объекты 5. включение элемента по номеру template class T, int size class StackSA private T data size статический МУ на данные int sp кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL int Insert T element,int num включение по номеру результат если нельзя то -1 иначе, количество элементов template class T, int size StackSA T, size StackSA sp 0 template class T, int size int StackSA T, size Push T element if sp size return -1 стек полный data sp element return sp template class T, int size T StackSA T, size Pop void if sp 0 return NULL стек пустой return data sp template class T, int size int StackSA T, size Insert T element,int num if sp size num sp num 0 return -1 стек полный или номер слишком большой for int p sp p num p data p data p-1 data num element return sp void main StackSA int, 20 s стек из 20-ти указателей на int int a 13,b 5,c 7 s.Push a s.Push b укладываем данные s.Insert c,1 вставляем элемент int pa s. Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 2. стек представлен ссстатическим массивом 1. хранение указателей на объекты 6. исключение элемента по номеру template class T, int size class StackSA private T data size статический МУ на данные int sp кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL T Exclude int num исключение по номеру результат если нельзя то NULL template class T, int size StackSA T, size StackSA sp 0 template class T, int size int StackSA T, size Push T element if sp size return -1 стек полный data sp element return sp template class T, int size T StackSA T, size Pop void if sp 0 return NULL стек пустой return data sp template class T, int size T StackSA T, size Exclude int num if sp 0 num sp num 0 return NULL стек пустой или номер слишком большой T temp data num for int p num p sp-1 p data p data p 1 sp return temp void main StackSA int, 20 s стек из 20-ти указателей на int int a 13,b 5,c 7 s.Push a s.Push b s.Push c укладываем данные int k s. Exclude 1 вытаскиваем элемент int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 2. стек представлен статическим массивом 1. хранение указателей на объекты 7. поиск и возвращение элемента по номеру template class T, int size class StackSA private T data статический МУ на данные int sp кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL T operator int num взятие по номеру результат если нельзя то NULL template class T, int size StackSA T, size StackSA sp 0 template class T, int size int StackSA T, size Push T element if sp size return -1 стек полный data sp element return sp template class T, int size T StackSA T, size Pop void if sp 0 return NULL стек пустой return data sp template class T, int size T StackSA T, size operator int num if sp 0 num sp num 0 return NULL стек пустой или номер слишком большой return data num void main StackSA int, 20 s стек из 20-ти указателей на int int a 13,b 5,c 7 s. Push a s.Push b s.Push c укладываем данные int k s 1 берем элемент int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 2. стек представлен статическим массивом 2. хранение объектов 1. включение элемента с сохранением упорядоченности template class T,int size class StackSA private T data size int sp размер стека,кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL template class T,int size StackSA T,size StackSA sp 0 template class T,int size int StackSA T,size 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,int size T StackSA T,size Pop void if sp 0 return NULL стек пустой return data sp void main StackSA int,25 s стек из 25-ти int s.Push 27 s.Push 13 s.Push 19 укладываем данные int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем упорядоченные по возрастанию эл-ты 2. стек представлен статическим массивом 2. хранение объектов 2. поиск и возвращение минимального объекта template class T,int size class StackSA private T data size int sp размер стека,кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL T FindMin void template class T,int size StackSA T,size StackSA sp 0 template class T,int size int StackSA T,size Push T element if sp size return -1 стек полный data sp element return sp template class T,int size T StackSA T,size Pop void if sp 0 return NULL стек пустой return data sp template class T,int size T StackSA T,size FindMin void if sp 0 return NULL стек пустой int min data 0 for int k 1 k sp k if data k data min min k поиск мин. return data min void main StackSA int,30 s стек из 30-ти int s.Push 55 s.Push 11 s.Push 33 укладываем данные int m s.FindMin поиск мин. 2. стек представлен статическим массивом 2. хранение объектов 3. сортировка любым методом template class T,int size class StackSA private T data size int sp размер стека,кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL void Sort void template class T,int size StackSA T,size StackSA sp 0 template class T,int size int StackSA T,size Push T element if sp size return -1 стек полный data sp element return sp template class T,int size T StackSA T,size Pop void if sp 0 return NULL стек пустой return data sp template class T,int size void StackSA T,size Sort void for int i 0 i sp-1 i for int j i 1 j sp j if data j data i T temp data j data j data i data i temp обмен void main StackSA int,10 s стек из 10-ти int s.Push 35 s.Push 17 s.Push 29 укладываем данные s.Sort int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем упорядоченные по возрастанию эл-ты 2. стек представлен статическим массивом 2. хранение объектов 4. двоичный поиск по ключу template class T,int size class StackSA private T data size int sp кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL void Sort void T FindBin T key двоичный поиск template class T,int size StackSA T,size StackSA sp 0 template class T,int size int StackSA T,size Push T element if sp size return -1 стек полный data sp element return sp template class T,int size T StackSA T,size Pop void if sp 0 return NULL стек пустой return data sp template class T,int size void StackSA T,size Sort void for int i 0 i sp-1 i for int j i 1 j sp j if data j data i T temp data j data j data i data i temp обмен template class T,int size T StackSA T,size FindBin T key int a 0,b sp-1 начало,конец отрезка while a b int m a b 2 середина if data m key return data m совпало с ключом if data m key a m 1 правая часть else b m-1 левая часть return NULL не найден void main StackSA int,20 s стек из 20-ти int s.Push 78 s.Push 10 s.Push 5 укладываем данные s.Sort int k s.FindBin 78 поиск 2. стек представлен статическим массивом 2. хранение объектов 5. включение элемента по номеру template class T,int size class StackSA private T data size int sp размер стека,кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL int Insert T element,int num включение по номеру результат если нельзя то -1 иначе, количество элементов template class T,int size StackSA T,size StackSA sp 0 template class T,int size int StackSA T,size Push T element if sp size return -1 стек полный data sp element return sp template class T,int size T StackSA T,size Pop void if sp 0 return NULL стек пустой return data sp template class T,int size int StackSA T,size Insert T element,int num if sp size num sp num 0 return -1 стек полный или номер слишком большой for int p sp p num p data p data p-1 data num element return sp void main StackSA int,20 s стек из 20-ти int s.Push 99 s.Push 45 укладываем данные s.Insert 33,1 вставляем элемент int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 2. стек представлен статическим массивом 2. хранение объектов 6. исключение элемента по номеру template class T,int size class StackSA private T data size int sp размер стека,кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL void Exclude int num исключение по номеру результат если нельзя то NULL template class T,int size StackSA T,size StackSA sp 0 template class T,int size int StackSA T,size Push T element if sp size return -1 стек полный data sp element return sp template class T,int size T StackSA T,size Pop void if sp 0 return NULL стек пустой return data sp template class T,int size void StackSA T,size Exclude int num if sp 0 num sp num 0 return стек пустой или номер слишком большой for int p num p sp-1 p data p data p 1 sp void main StackSA int,20 s стек из 20-ти int s. Push 35 s.Push 11 s.Push 89 укладываем данные s.Exclude 1 вытаскиваем элемент int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 2. стек представлен статическим массивом 2. хранение объектов 7. поиск и возвращение элемента по номеру template class T,int size class StackSA private T data size int sp размер стека,кол-во элементов public StackSA int Push T element результат если стек полный то -1 иначе, количество элементов T Pop void результат если стек пустой то NULL T operator int num взятие по номеру результат если нельзя то NULL template class T,int size StackSA T,size StackSA sp 0 template class T,int size int StackSA T,size Push T element if sp size return -1 стек полный data sp element return sp template class T,int size T StackSA T,size Pop void if sp 0 return NULL стек пустой return data sp template class T,int size T StackSA T,size operator int num if sp 0 num sp num 0 return NULL стек пустой или номер слишком большой return data num void main StackSA int,20 s стек из 20-ти int s.Push 54 s.Push 23 s.Push 87 укладываем данные int k s 1 берем элемент int pa s.Pop , pb s.Pop , pc s.Pop вытаскиваем эл-ты 3. статический массив 1. хранение указателей на обьекты 1. Включение элемента с сохранением упорядочености. template class T,int size class SArray private T data size public SArray SArray void operator T q T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k NULL template class T,int size SArray T,size SArray for int k 0 k size k if data k ! NULL delete data k template class T,int size void SArray T,size operator T q for int k 0 k size data k ! NULL k if k size return нет места в массиве for k 0 data k-1 q k data k data k-1 раздвигаем элементы data k q вставляем элемент template class T,int size T SArray T,size operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main SArray int,10 a заводим массив указателей на int a new int 5 a new int 25 a new int 15 заносим значения int k a 1 получаем значение 15 3. статический массив 1. хранение указателей на обьекты 2. Поиск и возвращение минимального об екта. template class T,int size class SArray private T data size public SArray SArray T Min T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k NULL template class T,int size SArray T,size SArray for int k 0 k size k if data k ! NULL delete data k template class T,int size T SArray T,size Min for int k 0 k size data k NULL k номер первого не NULL элемента int tmp k в tmp for k size k if data k ! NULL data k data tmp tmp k поиск минимального return data tmp template class T,int size T SArray T,size operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main SArray int,10 a заводим массив указателей на int a 1 5 a 4 3 a 3 7 заносим значения int k a. Min получаем значение 3 3. статический массив 1. хранение указателей на обьекты 3. Сортировка любым методом . template class T,int size class SArray private T data size public SArray SArray void Sort T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k NULL template class T,int size SArray T,size SArray for int k 0 k size k if data k ! NULL delete data k template class T,int size void SArray T,size Sort for int i 0 i size-1 i for int j i 1 j size j if data i NULL data j ! NULL data j data i сравнение T tmp data j data j data i data i tmp обмен template class T,int size T SArray T,size operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main SArray int,10 a заводим массив указателей на int a 1 15 a 4 9 a 3 17 заносим значения a.Sort сортируем int i a 0 ,j a 1 ,k a 2 достаем отсортированнные по возрастанию 3. статический массив 1. хранение указателей на обьекты 4. Двоичный поиск на основе сравнения с внешним об ектом-ключом template class T,int size class SArray private T data size public SArray SArray T FindBin T key T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k NULL template class T,int size SArray T,size SArray for int k 0 k size k if data k ! NULL delete data k template class T,int size T SArray T,size FindBin T key int a 0,b size-1 начало,конец отрезка while a b int m a b 2 середина while data m NULL m a m if data m key return data m совпало с ключом if data m key a m 1 правая часть else b m-1 левая часть return NULL не найден template class T,int size T SArray T,size operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main SArray int,10 a заводим массив указателей на int a 0 5 a 1 9 a 2 17 заносим значения int i a. FindBin 17 двоичный поиск 3. статический массив 1. хранение указателей на обьекты 5. Включение элемента по номеру. template class T,int size class SArray private T data size public SArray SArray T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k NULL template class T,int size SArray T,size SArray for int k 0 k size k if data k ! NULL delete data k template class T,int size T SArray T,size operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main SArray int,10 a заводим массив указателей на int a 4 6 a 6 7 a 1 2 заносим значения int i a 4 i a 6 i a 1 получаем значения 3. статический массив 1. хранение указателей на обьекты 6. Исключение удаление элемента по номеру. template class T,int size class SArray private T data size public SArray SArray T operator int i void Del int i template class T,int size SArray T,size SArray for int k 0 k size k data k NULL template class T,int size SArray T,size SArray for int k 0 k size k if data k ! NULL delete data k template class T,int size T SArray T,size operator int i if i 0 i size return NULL if data i NULL data i new T return data i template class T,int size void SArray T,size Del int i if i 0 i size return if data i NULL return delete data i void main SArray int,10 a заводим массив указателей на int a 0 500 a 1 98 a 2 17 заносим значения a.Del 0 a.Del 1 a.Del 2 удаляем 3. статический массив 1. хранение указателей на обьекты 7. Поиск и возвращение элемента по номеру. template class T,int size class SArray private T data size public SArray SArray T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k NULL template class T,int size SArray T,size SArray for int k 0 k size k if data k ! NULL delete data k template class T,int size T SArray T,size operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main SArray int,10 a заводим массив указателей на int a 4 6 a 6 7 a 1 2 заносим значения int i a 4 i a 6 i a 1 получаем значения 3. статический массив 2. хранение обьектов 1. Включение элемента с сохранением упорядочености. template class T,int size class SArray private T data size public SArray void operator T q T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k 0 template class T,int size void SArray T,size operator T q for int k 0 k size data k ! 0 k if k size return нет места в массиве for k 0 data k-1 q k data k data k-1 раздвигаем элементы data k q вставляем элемент template class T,int size T SArray T,size operator int i if i 0 i size return data 0 если выходит за границы то возвращаем первый элемент return data i void main SArray int,10 a заводим массив указателей на int a 5 a 25 a 15 заносим значения int k a 1 получаем значение 15 3. статический массив 2. хранение обьектов 2. Поиск и возвращение минимального об екта. template class T,int size class SArray private T data size public SArray T Min T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k 0 template class T,int size T SArray T,size Min int tmp 0 for int k 1 k size k if data k data tmp tmp k поиск минимального return data tmp template class T,int size T SArray T,size operator int i if i 0 i size return data 0 если выходит за границы то возвращаем первый элемент return data i void main SArray int,10 a заводим массив указателей на int a 0 5 a 1 3 a 2 7 заносим значения int k a.Min получаем значение 3 3. статический массив 2. хранение обьектов 3. Сортировка любым методом . template class T,int size class SArray private T data size public SArray void Sort T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k 0 template class T,int size void SArray T,size Sort for int i 0 i size-1 i for int j i 1 j size j if data j data i сравнение T tmp data j data j data i data i tmp обмен template class T,int size T SArray T,size operator int i if i 0 i size return data 0 если выходит за границы то возвращаем первый элемент return data i void main SArray int,10 a заводим массив указателей на int a 1 15 a 4 9 a 3 17 заносим значения a.Sort сортируем int i a 0 ,j a 1 ,k a 2 достаем отсортированнные по возрастанию 3. статический массив 2. хранение обьектов 4. Двоичный поиск на основе сравнения с внешним об ектом-ключом template class T,int size class SArray private T data size public SArray T FindBin T key T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k 0 template class T,int size T SArray T,size FindBin T key int a 0,b size-1,m начало,конец отрезка,середина while a b m a b 2 середина if data m key return data m совпало с ключом if data m key a m 1 правая часть else b m-1 левая часть return data m не найден возвращаем ближайший template class T,int size T SArray T,size operator int i if i 0 i size return data 0 если выходит за границы то возвращаем первый элемент return data i void main SArray int,10 a заводим массив указателей на int a 0 5 a 1 9 a 2 17 заносим значения int i a.FindBin 17 двоичный поиск 3. статический массив 2. хранение обьектов 5. Включение элемента по номеру. template class T,int size class SArray private T data size public SArray T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k 0 template class T,int size T SArray T,size operator int i if i 0 i size return data 0 если выходит за границы то возвращаем первый элемент return data i void main SArray int,10 a заводим массив указателей на int a 4 6 a 6 7 a 1 2 заносим значения int i a 4 i a 6 i a 1 получаем значения 3. статический массив 2. хранение обьектов 6. Исключение удаление элемента по номеру. template class T,int size class SArray private T data size public SArray T operator int i void Del int i template class T,int size SArray T,size SArray for int k 0 k size k data k 0 template class T,int size T SArray T,size operator int i if i 0 i size return data 0 если выходит за границы то возвращаем первый элемент return data i template class T,int size void SArray T,size Del int i if i 0 i size return data i 0 void main SArray int,10 a заводим массив указателей на int a 0 500 a 1 98 a 2 17 заносим значения a.Del 0 a.Del 1 a.Del 2 удаляем 3. статический массив 2. хранение обьектов 7. Поиск и возвращение элемента по номеру. template class T,int size class SArray private T data size public SArray T operator int i template class T,int size SArray T,size SArray for int k 0 k size k data k 0 template class T,int size T SArray T,size operator int i if i 0 i size return data 0 если выходит за границы то возвращаем первый элемент return data i void main SArray int,10 a заводим массив указателей на int a 4 6 a 6 7 a 1 2 заносим значения int i a 4 i a 6 i a 1 получаем значения 4. динамический массив 1. хранение указателей на обьекты 1. Включение элемента с сохранением упорядочености. template class T class DArray private T data int size public DArray int size DArray void operator T q T operator int i template class T DArray T DArray int size size size data T new char sizeof T size for int i 0 i size i data i NULL template class T DArray T DArray delete data template class T void DArray T operator T q for int k 0 k size data k ! NULL k if k size return нет места в массиве for k 0 data k-1 q k data k data k-1 раздвигаем элементы data k q вставляем элемент template class T T DArray T operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main DArray int a 10 заводим массив указателей на int int x 5,y 99,z 7 a x a y a z заносим значения int k a 1 получаем значение 7 4. динамический массив 1. хранение указателей на обьекты 2. Поиск и возвращение минимального об екта. template class T class DArray private T data int size public DArray int size DArray T Min T operator int i template class T DArray T DArray int size size size data T new char sizeof T size for int i 0 i size i data i NULL template class T DArray T DArray delete data template class T T DArray T Min for int k 0 k size data k NULL k номер первого не NULL элемента int tmp k в tmp for k size k if data k ! NULL data k data tmp tmp k поиск минимального return data tmp template class T T DArray T operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main DArray int a 20 заводим массив указателей на int a 1 5 a 4 3 a 3 7 заносим значения int k a.Min получаем значение 3 4. динамический массив 1. хранение указателей на обьекты 3. Сортировка любым методом . template class T class DArray private int size T data public DArray int size DArray void Sort T operator int i template class T DArray T DArray int size size size data T new char sizeof T size for int i 0 i size i data i NULL template class T DArray T DArray delete data template class T void DArray T Sort for int i 0 i size-1 i for int j i 1 j size j if data i NULL data j ! NULL data j data i сравнение T tmp data j data j data i data i tmp обмен template class T T DArray T operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main DArray int a 5 заводим массив указателей на int a 1 15 a 4 9 a 3 17 заносим значения a.Sort сортируем int i a 0 ,j a 1 ,k a 2 достаем отсортированнные по возрастанию 4. динамический массив 1. хранение указателей на обьекты 4. Двоичный поиск на основе сравнения с внешним об ектом-ключом template class T class DArray private int size T data public DArray int size DArray T FindBin T key T operator int i template class T DArray T DArray int size size size data T new char sizeof T size for int i 0 i size i data i NULL template class T DArray T DArray delete data template class T T DArray T FindBin T key int a 0,b size-1 начало,конец отрезка while a b int m a b 2 середина while data m NULL m a m if data m key return data m совпало с ключом if data m key a m 1 правая часть else b m-1 левая часть return NULL не найден template class T T DArray T operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main DArray int a 15 заводим массив указателей на int a 0 5 a 1 9 a 2 17 заносим значения int i a.FindBin 17 двоичный поиск 4. динамический массив 1. хранение указателей на обьекты 5. Включение элемента по номеру. template class T class DArray private int size T data public DArray int size DArray T operator int i template class T DArray T DArray int size size size data T new char sizeof T size for int i 0 i size i data i NULL template class T DArray T DArray delete data template class T T DArray T operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main DArray int a 30 заводим массив указателей на int a 4 6 a 6 7 a 1 2 заносим значения int i a 4 i a 6 i a 1 получаем значения 4. динамический массив 1. хранение указателей на обьекты 6. Исключение удаление элемента по номеру. template class T class DArray private int size T data public DArray int size DArray T operator int i void Del int i template class T DArray T DArray int size size size data T new char sizeof T size for int i 0 i size i data i NULL template class T DArray T DArray delete data template class T T DArray T operator int i if i 0 i size return NULL if data i NULL data i new T return data i template class T void DArray T Del int i if i 0 i size return if data i NULL return data i NULL void main DArray int a 30 заводим массив указателей на int a 0 500 a 1 98 a 2 17 заносим значения a.Del 0 a.Del 1 a.Del 2 удаляем 4. динамический массив 1. хранение указателей на обьекты 7. Поиск и возвращение элемента по номеру. template class T class DArray private int size T data public DArray int size DArray T operator int i template class T DArray T DArray int size size size data T new char sizeof T size for int i 0 i size i data i NULL template class T DArray T DArray delete data template class T T DArray T operator int i if i 0 i size return NULL if data i NULL data i new T return data i void main DArray int a 20 заводим массив указателей на int a 4 6 a 6 7 a 1 2 заносим значения int i a 4 i a 6 i a 1 получаем значения 4. динамический массив 2. хранение обьектов 1. Включение элемента с сохранением упорядочености. template class T class DArray private T data int size,sp public DArray int size DArray void operator T q T operator int i template class T DArray T DArray int size size size sp 0 data T new T size for int i 0 i size i data i 0 template class T DArray T DArray delete data template class T void DArray T operator T q if sp size return for int k sp k 0 data k-1 q k data k data k-1 раздвигаем элементы data k q вставляем элемент template class T T DArray T operator int i if i 0 i size return NULL return data i void main DArray int a 10 заводим массив указателей на int int x 5,y 99,z 7 a x a y a z заносим значения int k a 1 получаем значение 7 4. динамический массив 2. хранение обьектов 2. Поиск и возвращение минимального об екта. template class T class DArray private T data int size public DArray int size DArray T Min T operator int i template class T DArray T DArray int size size size data T new T size for int i 0 i size i data i 0 template class T DArray T DArray delete data template class T T DArray T Min int tmp 0 for int k 1 k size k if data k data tmp tmp k поиск минимального return data tmp template class T T DArray T operator int i if i 0 i size return NULL return data i void main DArray int a 3 заводим массив указателей на int a 0 5 a 1 3 a 2 7 заносим значения int k a.Min получаем значение 3 4. динамический массив 2. хранение обьектов 3. Сортировка любым методом . template class T class DArray private int size T data public DArray int size DArray void Sort T operator int i template class T DArray T DArray int size size size data T new T size for int i 0 i size i data i 0 template class T DArray T DArray delete data template class T void DArray T Sort for int i 0 i size-1 i for int j i 1 j size j if data j data i сравнение T tmp data j data j data i data i tmp обмен template class T T DArray T operator int i if i 0 i size return NULL return data i void main DArray int a 5 заводим массив указателей на int a 1 15 a 4 9 a 3 17 заносим значения a.Sort сортируем int i a 0 ,j a 1 ,k a 2 достаем отсортированнные по возрастанию 4. динамический массив 2. хранение обьектов 4. Двоичный поиск на основе сравнения с внешним об ектом-ключом template class T class DArray private int size T data public DArray int size DArray T FindBin T key T operator int i template class T DArray T DArray int size size size data T new T size for int i 0 i size i data i 0 template class T DArray T DArray delete data template class T T DArray T FindBin T key int a 0,b size-1 начало,конец отрезка while a b int m a b 2 середина while data m NULL m a m if data m key return data m совпало с ключом if data m key a m 1 правая часть else b m-1 левая часть return NULL не найден template class T T DArray T operator int i if i 0 i size return NULL return data i void main DArray int a 15 заводим массив указателей на int a 0 5 a 1 9 a 2 17 заносим значения int i a.FindBin 17 двоичный поиск 4. динамический массив 2. хранение обьектов 5. Включение элемента по номеру. template class T class DArray private int size T data public DArray int size DArray T operator int i template class T DArray T DArray int size size size data T new T size for int i 0 i size i data i 0 template class T DArray T DArray delete data template class T T DArray T operator int i if i 0 i size return NULL return data i void main DArray int a 30 заводим массив указателей на int a 4 6 a 6 7 a 1 2 заносим значения int i a 4 i a 6 i a 1 получаем значения 4. динамический массив 2. хранение обьектов 6. Исключение удаление элемента по номеру. template class T class DArray private int size T data public DArray int size DArray T operator int i void Del int i template class T DArray T DArray int size size size data T new T size for int i 0 i size i data i 0 template class T DArray T DArray delete data template class T T DArray T operator int i if i 0 i size return NULL return data i template class T void DArray T Del int i if i 0 i size return data i 0 void main DArray int a 30 заводим массив указателей на int a 0 500 a 1 98 a 2 17 заносим значения a.Del 0 a.Del 1 a.Del 2 удаляем 4. динамический массив 2. хранение обьектов 7. Поиск и возвращение элемента по номеру. template class T class DArray private int size T data public DArray int size DArray T operator int i template class T DArray T DArray int size size size data T new T size for int i 0 i size i data i 0 template class T DArray T DArray delete data template class T T DArray T operator int i if i 0 i size return NULL return data i void main DArray int a 20 заводим массив указателей на int a 4 6 a 6 7 a 1 2 заносим значения int i a 4 i a 6 i a 1 получаем значения 5. Односвязный список 1. Хранение указателей на объекты 1. Включение элемента с сохранением упорядочености. template class T class List private List T next T data public List T a List void Add T a добавление элемента template class T List T List T a next NULL data new T data a выделение памяти и копирование template class T List T List delete data if next! NULL delete next удаление элемента и списка template class T void List T Add T a добавление элемента if next NULL если последний if a data next new List T a else next new List T data data a else if a data если вставляемый меньше текущего next- Add data раздвигаем рекурсия data a else if a data a next- data если вставляемый должен быть следующим List T p next next new List T a создаем новый элемент next- next p else next- Add a если вставляемый больше текущего рекурсия void main List int a 10 создание списка a.Add 5 a.Add 11 a.Add 3 вставка элементов 5. Односвязный список 1. Хранение указателей на объекты 2. Поиск и возвращение минимального обьекта. template class T class List private List T next T data public List T a List T FindMin поиск минимального void Insert T a,int pos вставка элемента template class T List T List T a next NULL data new T data a выделение памяти и копирование template class T List T List delete data if next! NULL delete next удаление элемента и списка template class T T List T FindMin T tmp data принимаем начальный за минимальный List T p this- next while p! NULL проходим список if p- data tmp tmp p- data если есть меньший - запоминаем p p- next return tmp возвращаем минимальный template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов void main List int a 10 создание списка a.Insert 15,1 a.Insert 4,2 a.Insert 7,3 вставка элементов int k a.FindMin поиск минимального 5. Односвязный список 1. Хранение указателей на объекты 3. Сортировка любым методом . template class T class List private List T next T data public List T a List void Sort сортировка void Insert T a,int pos вставка элемента template class T List T List T a next NULL data new T data a выделение памяти и копирование template class T List T List delete data if next! NULL delete next удаление элемента и списка template class T void List T Sort for List T p this p- next! NULL p p- next for List T q p- next q! NULL q q- next if p- data q- data если слева больший элемент T tmp p- data p- data q- data q- data tmp производим обмен template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов void main List int a 10 создание списка a.Insert 15,1 a.Insert 4,2 a.Insert 7,3 вставка элементов a.Sort сортировка элементов 5. Односвязный список 1. Хранение указателей на объекты 4. Двоичный поиск на основе сравнения с внешним обьектом-ключом template class T class List private List T next T data public List T a List List T Search int num T FindBin T key void Insert T a,int pos вставка элемента template class T List T List T a next NULL data new T data a выделение памяти и копирование template class T List T List delete data if next! NULL delete next удаление элемента и списка template class T List T List T Search int num List T p this while num 0 p- next! NULL p p- next ищем в списке return p template class T T List T FindBin T key int a 0,b 1 начало,конец отрезка List T p this while p- next! NULL b p p- next подсчет элементов while a b int m a b 2 середина if Search m - data key return Search m - data совпало с ключом if Search m - data key a m 1 правая часть else b m-1 левая часть return NULL не найден template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов void main List int a 3 создание списка a.Insert 6,1 a.Insert 9,2 a.Insert 17,3 вставка элементов int j a. FindBin 11 5. Односвязный список 1. Хранение указателей на объекты 5. Включение элемента по номеру. template class T class List private List T next T data public List T a List void Insert T a,int pos вставка элемента template class T List T List T a next NULL data new T data a выделение памяти и копирование template class T List T List delete data if next! NULL delete next удаление элемента и списка template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов void main List int a 10 создание списка a. Insert 55,1 вставка элемента на первую позицию 5. Односвязный список 1. Хранение указателей на объекты 6. Исключение удаление элемента по номеру. template class T class List private List T next T data public List T a List void Insert T a,int pos вставка элемента void Delete int pos удаление элемента template class T List T List T a next NULL data new T data a выделение памяти и копирование template class T List T List delete data if next! NULL delete next удаление элемента и списка template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов template class T void List T Delete int pos if pos 0 next NULL return первый или единственный элемент не удаляется List T p this, q next while pos 1 q- next! NULL p p- next q q- next ищем место в списке p- next q- next q- next NULL delete q void main List int a 10 создание списка a.Insert 55,1 a.Insert 5,2 a.Insert 17,3 вставка элементов a. Delete 1 удаление элемента 5. Односвязный список 1. Хранение указателей на объекты 7. Поиск и возвращение элемента по номеру. template class T class List private List T next T data public List T a List void Insert T a,int pos вставка элемента T Get int num получить элемент по номеру template class T List T List T a next NULL data new T data a выделение памяти и копирование template class T List T List delete data if next! NULL delete next удаление элемента и списка template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов template class T T List T Get int num List T p this while num 0 p- next! NULL p p- next ищем в списке return p- data void main List int a 10 создание списка a.Insert 13,1 a.Insert 33,2 вставка элементов int i a.Get 1 взять элемент по номеру 5. Односвязный список 2. Хранение объектов 1. Включение элемента с сохранением упорядочености. template class T class List private List T next T data public List T a List void Add T a добавление элемента template class T List T List T a next NULL data a выделение памяти и копирование template class T List T List if next! NULL delete next удаление элемента и списка template class T void List T Add T a добавление элемента if next NULL если последний if a data next new List T a else next new List T data data a else if a data если вставляемый меньше текущего next- Add data раздвигаем data a else if a data a next- data если вставляемый должен быть следующим List T p next next new List T a создаем новый элемент next- next p else next- Add a если вставляемый больше текущего void main List int a 10 создание списка a.Add 5 a.Add 11 a.Add 3 вставка элементов 5. Односвязный список 2. Хранение объектов 2. Поиск и возвращение минимального обьекта. template class T class List private List T next T data public List T a List T FindMin поиск минимального void Insert T a,int pos вставка элемента template class T List T List T a next NULL data a выделение памяти и копирование template class T List T List if next! NULL delete next удаление элемента и списка template class T T List T FindMin T tmp data принимаем начальный за минимальный List T p this- next while p! NULL проходим список if p- data tmp tmp p- data если есть меньший - запоминаем p p- next return tmp возвращаем минимальный template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов void main List int a 10 создание списка a.Insert 3,1 a.Insert 9,2 вставка элементов int k a.FindMin поиск минимального 5. Односвязный список 2. Хранение объектов 3. Сортировка любым методом . template class T class List private List T next T data public List T a List void Sort сортировка void Insert T a,int pos вставка элемента template class T List T List T a next NULL data a выделение памяти и копирование template class T List T List if next! NULL delete next удаление элемента и списка template class T void List T Sort for List T p this p- next! NULL p p- next for List T q p- next q! NULL q q- next if p- data q- data если слева больший элемент T tmp p- data p- data q- data q- data tmp производим обмен template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов void main List int a 10 создание списка a. Insert 155,1 a.Insert 77,2 вставка элементов a.Sort сортировка элементов 5. Односвязный список 2. Хранение объектов 4. Двоичный поиск на основе сравнения с внешним обьектом-ключом template class T class List private List T next T data public List T a List List T Search int num T FindBin T key void Insert T a,int pos вставка элемента template class T List T List T a next NULL data a выделение памяти и копирование template class T List T List if next! NULL delete next удаление элемента и списка template class T List T List T Search int num List T p this while num 0 p- next! NULL p p- next ищем в списке return p template class T T List T FindBin T key int a 0,b 1 начало,конец отрезка List T p this while p- next! NULL b p p- next подсчет элементов while a b int m a b 2 середина if Search m - data key return Search m - data совпало с ключом if Search m - data key a m 1 правая часть else b m-1 левая часть return 0 не найден template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов void main List int a 10 создание списка a.Insert 12,1 a.Insert 15,2 a.Insert 95,3 вставка элементов int j a.FindBin 11 5. Односвязный список 2. Хранение объектов 5. Включение элемента по номеру. template class T class List private List T next T data public List T a List void Insert T a,int pos вставка элемента template class T List T List T a next NULL data a выделение памяти и копирование template class T List T List if next! NULL delete next удаление элемента и списка template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов void main List int a 10 создание списка a.Insert 15,1 вставка элемента на первую позицию 5. Односвязный список 2. Хранение объектов 6. Исключение удаление элемента по номеру. template class T class List private List T next T data public List T a List void Insert T a,int pos вставка элемента void Delete int pos удаление элемента template class T List T List T a next NULL data a выделение памяти и копирование template class T List T List if next! NULL delete next удаление элемента и списка template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов template class T void List T Delete int pos if pos 0 next NULL return первый или единственный элемент не удаляется List T p this, q next while pos 1 q- next! NULL p p- next q q- next ищем место в списке p- next q- next q- next NULL delete q void main List int a 10 создание списка a.Insert 55,1 вставка элемента на первую позицию a.Delete 1 удаление элемента 5. Односвязный список 2. Хранение объектов 7. Поиск и возвращение элемента по номеру. template class T class List private List T next T data public List T a List void Insert T a,int pos вставка элемента T Get int num получить элемент по номеру template class T List T List T a next NULL data a выделение памяти и копирование template class T List T List if next! NULL delete next удаление элемента и списка template class T void List T Insert T a,int pos List T p this, q while pos 0 p- next! NULL p p- next ищем место в списке q p- next p- next new List T p- data создаем новый элемент p- data a записываем данные p- next- next q восстанавливаем последовательность элементов template class T T List T Get int num List T p this while num 0 p- next! NULL p p- next ищем в списке return p- data void main List i.

– Конец работы –

Используемые теги: Шпоры, Шаблоны, стандартных, структур, данных0.085

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Шпоры по Си. Шаблоны стандартных структур данных

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Информации. Кодирование символьных, графических и звуковых данных. Структуры данных
Информации Кодирование символьных графических и звуковых данных Структуры данных Формула... Log log... Основные свойства логарифмов...

Лекция 3. Формулы Шеннона и Хартли. Расчёт количества Информации. Кодирование символьных, графических и звуковых данных. Структуры данных
Информации Кодирование символьных графических и звуковых данных Структуры данных Формула... Log log... Основные свойства логарифмов...

КУРС ЛЕКЦИЙ ПО ИНФОРМАТИКЕ Тема: Базы данных, Банки Данных, Системы Управления Базами Данных — СУБД
ГОУ ВПО ВОЛОГОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Факультет промышленного менеджмента...

Общее понятие о базах данных. Основные понятия систем управления базами данных. Модели данных. 10
Сетевые технологии обработки данных Компоненты вычислительных сетей... Принципы организации и основные топологии вычислительных сетей Принципы... Сетевой сервис и сетевые стандарты Средства использования сетевых сервисов...

Шпора по кусу база данных
СУБД используют несколько моделей данных: иерархическую и сетевую (с 60-х годов) и реляционную (с 70-х). Основное различие данных моделей в… Иерархическая модель данных строится по принципу иерархии объектов, то есть… Иначе, главный тип именуется исходным типом, а подчиненные – порожденными. У подчиненных типов могут быть в свою…

Структуры и алгоритмы обработки данных
Государственное образовательное учреждение высшего... профессионального образования... Новгородский государственный университет имени Ярослава Мудрого...

Реляционные Базы Данных. SQL - стандартный язык реляционных баз данных
В компьютере, например, можно хранить фамилии и адреса друзей или клиентов. Один из типов баз данных - это документы, набранные с помощью текстовых… Другой тип - файлы электронных таблиц, объединяемые в группы по характеру их использования.

Структуры данных: бинарное упорядоченное несбалансированное дерево
Create создание дерева. Присваивает полю Root корень значение nil указателя, который никуда не… Если добавляемый элемент имеет ключ не больший чем ключ узла, то, если узел не лист, обходим его слева. Если дошли до…

Проектирование логической структуры базы данных АБИС
В библиотечном деле сложилась следующая ситуация - автоматизация в библиотечном деле существенно отставала в своем развитии от НТИ, и к началу… С другой стороны, подавляющая часть библиотек, пережив кризисные годы, начала… Самое же главное, что в последние годы активно ведется проектирование корпоративных библиотечных систем, в рамках…

0.035
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам