Реферат Курсовая Конспект
Динамически размещаемые данные:память для них выделяется по операции new, существуют они пока эта память не будет освобождена - раздел Информатика, Лекция 5. Замечание. В Языке С++ Были Рассмотрены Д...
|
Лекция 5.
Замечание. В языке С++ были рассмотрены данные простых и сложных типов. Перед новой темой можно привести некоторую классификацию данных:
· по структуре:
=данные статической структуры, которые получают структуру при описании и сохраняют её (не нарушая) до конца программы: данные стандартного типа (например, int), массив сохраняет количество элементов, объявленное в описании, и др.
=данные динамической структуры,в которых не фикситруется количество элементов, они могут быть пустые, могут состоять из одного, двух и более элементов, которые могут добавляться и удаляться из этих данных.
· по способу размещения:
= статически размещаемые данные:int X; float a[100], память которых сохраняется за ними в течении всей программы, пока работает их область действия.
=динамически размещаемые данные:память для них выделяется по операции new, существуют они пока эта память не будет освобождена.
Пример программы из 3-х файлов.
ОЧЕРЕДЬ на основе массива
//queue3f.h -интерфейсный файл
#include <iostream>
#include <fstream>
Using namespace std;
const int NN=100;
Typedef int tip;
Struct queue
{ int beg;
Int size;
tip x[NN];
};
void clrqu(queue &q);
void insqu(queue &q, tip a);
void remqu (queue &q);
Tip topqu (queue q);
Bool emptyqu (queue q);
Int main()
{ifstream fin;
Ofstream fout;
int b[nq];
queue w[nq];
fin.open("dan.txt");
If (fin.fail())
{cout<<"error open n"; return(1);}
fout.open("rez.txt");
If (fout.fail())
{cout<<"error open rez.txt n"; return(1);}
fout<<"mnojiteli: " ;
int l=0;
while (fin>>b[l])
{ fout<<setw(6)<<b[l];
L++;
}
fout<<endl;
Fout.close();
return 0; }
dan.txt
2 7 13
rez.txt
mnojiteli: 2 7 13
1 2 4 7 8 13 14 16 26 28
32 49 52 56 64 91 98 104 112 128
169 182 196 208 224 256 338 343 364 392
416 448 512 637 676 686 728 784 832 896
1024 1183 1274 1352 1372 1456 1568 1664 1792 2048
2197 2366 2401 2548 2704 2744 2912 3136 3328 3584
4096 4394 4459 4732 4802 5096 5408 5488 5824 6272
6656 7168 8192 8281 8788 8918 9464 9604 10192 10816
10976 11648 12544 13312 14336 15379 16384 16562 16807 17576
17836 18928 19208 20384 21632 21952 23296 25088 26624 28561
1 2 4 7 8 13 14
Замечание. Об использовании АТД.
Вместо topqu(w[0]) использовать w[0].x [w[0].beg]
Организация связанного списка.
1.Определить тип элемента связанного списка.
Обозначим tip – тип информационной части элемента списка. Например,
Typedef int tip;
Структура элемента связанного списка:
Delete q;
7. Передвинуть указатель p на следующий элемент связанного списка:
p = p-> next;
8.Обработать все элементы связанного списка по очереди с помощью функции void W(tip t).
P=beg;
while (p) // while (p!=null)
{W (p->inf);
p=p->next; }
10.Освободить память, занятую под связанный список.
While (beg)
{ q= beg;
beg= beg ->next;
– Конец работы –
Используемые теги: Динамически, размещаемые, Данные, Память, них, выделяется, операции, New, Существуют, пока, эта, Память, будет, освобождена0.157
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Динамически размещаемые данные:память для них выделяется по операции new, существуют они пока эта память не будет освобождена
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов