Файл: Лабораторная работа 1 Списковые структуры данных Вариант 23 Выполнил Проверил ст гр. 220602 Фомин Р. Ю. доц. Афанасьева С. М.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.11.2023

Просмотров: 13

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Тульский государственный университет»

Кафедра «Вычислительной техники»

Структуры и алгоритмы обработки данных

Лабораторная работа №1

«Списковые структуры данных»

Вариант 23

Выполнил Проверил

ст. гр. 220602 Фомин Р.Ю. доц. Афанасьева С.М.

Тула, 2021 г.

  1. Цель работы

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

  1. Теоретические сведенья

    1. Статические программные объекты – это объекты, которые порождаются непосредственно перед выполнением программы, существуют в течение всего времени ее выполнения и размер значений которых не изменяется по ходу выполнения программы.

    2. Программные объекты, которые создаются в процессе выполнения программы, называют динамическими объектами.

    3. Для работы с динамическими объектами предусматривается специальный тип данных - так называемый ссылочный тип. Значением этого типа является ссылка на какой - либо программный объект, по которой осуществляется непосредственный доступ к этому объекту

    4. Для работы с динамическими объектами предусматривается специальный тип данных - так называемый ссылочный тип. Значением этого типа является ссылка на какой - либо программный объект, по которой осуществляется непосредственный доступ к этому объекту

    5. Чтобы связать элементы динамической структуры между собой, в состав элемента помимо информационного поля входят поля указателей (связок с другими элементами структуры) .

  2. Задания на лабораторную работу

3.1. Задание №1

Написать программу передвижения элемента списка на n позиций. Список состоит из цветов



  1. Ход работы


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;
namespace ConsoleApp222

{

class Program

{
static void Main(string[] args)

{

List colors = new List();

colors.Add("Yellow");

colors.Add("Red");

colors.Add("Blue");

colors.Add("Green");

colors.Add("White");

colors.Add("Black");

colors.Add("Brown");

colors.Add("Grey");

int n = int.Parse(Console.ReadLine());

string k = Console.ReadLine();

Console.ReadLine();

int m = 0;

for (int i = 0; i < colors.Count; i++)

{

if (colors[i] == k)

m = i;

}

for (int j = m; j <= m + n; j++)

{

colors[j] = colors[j + 1];

if (j == n + m)

colors[j] = k;

}

for (int i = 0; i < colors.Count; i++)

{

Console.WriteLine(colors[i]);

}

Console.ReadKey();

}

}

}

Листинг программы №1



В качестве примера будет загружен список показанный ниже. Будем смещать элемент “Blue” на 2 позиции


List colors = new List();

colors.Add("Yellow");

colors.Add("Red");

colors.Add("Blue");

colors.Add("Green");

colors.Add("White");

colors.Add("Black");

colors.Add("Brown");

colors.Add("Grey");

Пример для программы №1




Рисунок 1: Результат выполнения программы №1