Сделай Сам Свою Работу на 5

Нарисуйте структуру односвязного кольцевого списка





Что такое функция и каково ее назначение?

Функция - это совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи. Каждая функция должна иметь имя, которое используется для ее объявления, определения и вызова.

Перечислите способы описания одномерного массива целых чисел

1. int A[20];

2. int A[]={1,2,3};

Перечислите способы описания одномерного массива символов

1. char A[20];

2. char A[]={abcd};

Приведите примеры, иллюстрирующие передачу и прием одномерного массива в функцию

1. main(){

Int A[10];

….

Funk (A);

…..}

Int funk (int* A){…}

 

2. main(){

Int A[10];

Int *p;

p=A;

….

Funk (p);

…..}

Int funk (int* p){…}

Каким образом можно вернуть значение переменной из функции

Оператором Return или с помощью указателей

 

6. В каких случаях необходимо ставить знак & перед параметром при вызове функции

& следует ставить перед параметром при вызове функции в том случае, когда функция получает указатель на переменную в качестве аргумента.

7. На что указывает знак * в функции void f(int *r)

Знак * в функции void f(int *r) говорит о том, что функция получает как аргумент указатель на переменную, с которой будет в дальнейшем работать.



8. Как описать функцию А, если вызов ее осуществляется как А(&x, y) x- и y – целые

void A(int *x, int y)

9. Какого типа могут быть параметры в вызывающей программе и как выполнить вызов функции, если описание функции имеет вид void MyIn(int *n, char *x)

int n; char x;

MyIn(&n, &x);

или

int *n; char *x;

MyIn(n, x);

Какой оператор используется для получения адреса переменной?

&

Какой оператор позволяет получить значение, записанное по адресу, содержащемуся в указателе?

*

В чем разница между адресом, который хранится в указателе, и значением, записанным по этому адресу?

Адрес соответствует участку памяти, в котором могут храниться данные, а значение – это данные, хранящиеся по определенному адресу.

В чем различие между оператором разыменования и оператором получения адреса?

Оператор разыменовывания (*) возвращает значение записанное по адресу, хранящемуся в операнде, а оператор получения адреса (&) возвращает адрес, по которому записано значение, хранящееся в операнде.

Покажите разницу между ссылкой и указателем.



Указатели ссылаются на участок в памяти, используя его адрес. А ссылки ссылаются на объект по его имени. Ссылки предназначены для организации прямого доступа к тому,или иному объекту.

Чем отличается структура от массива?

Структура – это фиксированное число элементов одного или нескольких типов. Т.е. в отличие от массивов, в которых содержатся элементы одного типа, в структурах могут содержаться элементы как одного, так и разных типов.

Как провести инициализацию элементов структуры?

Инициализирование можно проводить в описании. А также в имени структурного объекта, при инициализации такой список значений указывается в фигурных скобках в последовательности, соответствующей последовательности определения элементов структуры.

Как осуществляется доступ к элементам структуры?

1) через операцию-точку: student.info;

2) через операцию-стрелку: ptr->ochki;

Что такое перегрузка функции?

Перегрузка - предоставление компилятору выбора среди нескольких функций.

1) Перегрузка функций позволяет вам использовать одно и то же имя для нескольких функций с разными типами параметров.

2) Для перегрузки функций просто определите две функции с одним и тем же именем и типом возвращаемого значения, которые отличаются количеством параметров или их типом.

Что такое рекурсия?

рекурсия — способ общего определения множества объектов или функций через себя, с использованием ранее заданных частных определений.

20. Что такое динамические данные?

Это данные, память под которые выделяется в куче с помощью функции new.



21. Каким образом выделяется память под динамические данные?

При динамическом распределении памяти объекты размещаются в т.н. «куче»: при конструировании объекта указывается размер запрашиваемой под объект памяти, и, в случае успеха, выделенная область памяти, условно говоря, «изымается» из «кучи», становясь недоступной при последующих операциях выделения памяти.

 

22. Перечислите основные особенности динамической памяти.

· увеличение объема обрабатываемых данных

· если потребность в каких-то данных отпала до окончания программы, то занятую ими память можно освободить для другой информации

· использование динамической памяти позволяет создавать структуры данных переменного размера

 

 

23.Что возвращает оператор newпосле выделения участка динамической памяти?

Оператор new выделяет область памяти и возвращает указатель на ее первую ячейку.

 

24.Каково назначение оператора delete?

Оператор delete освобождает память, выделенную ранее с помощью оператора new.

 

25.Какие операции можно производить над указателями?

Над указателями определено 5 основных операций.

1) Определение адреса указателя: &p, где p – указатель (&p – адрес ячейки, в которой находится указатель).

2) Присваивание. Указателю можно присвоить адрес переменной p=&q, где p – указатель, q – идентификатор переменной.

3) Определение значения, на которое ссылается указатель: *p (операция косвенной адресации).

4) Увеличение (уменьшение) указателя. Увеличение выполняется как с помощью операции сложения (+), так и с помощью операции инкремента (++). Уменьшение – с помощью операции вычитания (–) либо декремента (––).

5) Разность двух указателей. Пусть р1 и р2 – указатели одного и того же типа. Можно определить разность р1 и р2, чтобы найти, на каком расстоянии друг от друга находятся элементы массива.

Перечислите основные операции с динамическими структурами данных.

Основными операциями являются добавление элемента в список и исключение из списка.

В чем особенности однонаправленных и двунаправленных линейных списков?

Однонаправленный линейный список - это список, который имеет указатель на начало списка, при этом каждый список имеет указатель на следующий список, а последний список принимает указатель NULL, что говорит о том, что он последний.

Каждый элемент двунаправоенного линейного списка имеет два указателя: один указывает на предшествующий элемент, а другой – на последующий. Отличительной особенностью подобных списков является более эффективная реализация операций вставки-удаления элементов. 28.Как осуществляется выборка элементов данных в стеке?

Она возможна только тогда, когда стек не пуст. Она означает, что выбирается значение из элемента, находящегося в вершине стека, а сам элемент исключается из стека. Исключение для векторного стека сводится к смещению указателя вершины на один элемент к началу стека. При выборке из списка списковой структуры указатель на начальный элемент списка заменяется на указатель из начального элемента, а память осв из под элемента списка.

 

Опишите организацию движения данных в очереди

Очередь — структура данных с дисциплиной доступа к элементам "первый пришёл — первый вышел" (FIFO, First In — First Out). Добавление элемента (принято обозначать словом enqueue) возможно лишь в конец очереди, выборка — только из начала очереди (что принято называть dequeue, при этом выбранный элемент из очереди удаляется).

Нарисуйте структуру односвязного кольцевого списка

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.