Организация линейного однонаправленного списка
Автор: Рома Клетсков • Июнь 16, 2021 • Лабораторная работа • 3,343 Слов (14 Страниц) • 322 Просмотры
Цель работы: Ознакомление с организацией линейного однонаправленного списка. Программирование основных операций доступных для линейного однонаправленного списка.
Вариант 13
Практическая часть.
Во всех вариантах необходимо:
Организовать список, состоящий из 10 элементов вводимых с клавиатуры, через функцию вставки первого элемента в список.
Организовать функцию просмотра всего списка элементов.
Организовать функцию вставки элемента справа относительно текущего. Организовать функцию поиска элемента в списке.
Организовать функцию удаления элемента из списка.
Организовать функцию очистки списка.
Индивидуальные задания.
Организовать однонаправленный линейный список с функцией удаления из списка четных элементов списка
Листинг программы:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication10
{
class OwnListElem //класс элемент списка
{
public int Value;// поле данных
public OwnListElem Next;// поле переход на следующий элемент
public OwnListElem(OwnListElem next, int value)//конструктор класса
{
Next = next; //заполнение поля
Value = value;//заполнение поля
}
}
class OwnList //класс однонаправленный список
{
public OwnListElem _head = null;// заголовок списка
public OwnListElem _curent = null;// текущий элемент списка
public OwnList() { }//пустой конструктор
public void Insert_First_Element(int value) //вставка элемента в начало списка
{
OwnListElem temp = new OwnListElem(null, value);// создание нового элемента списка изаполнение его значениями
if (_head == null)//если список пуст
{
_head = temp; //новый элемент делаем первым
}
else
{
temp.Next = _head;// в новый элемент делаем ссылку на первый элемент
_head = temp;//перезаписываем первый элемент
}
}
public void Insert_Element(ref OwnListElem current, int value) //вставка элемента справаот текущего
{
if (_head == null)//если список пуст
{
Insert_First_Element(value);// то вызываем функцию вставки первого элемента
_curent = _head;//текущий элемент делаем первым
}
else
{
_curent = current;
OwnListElem temp = new OwnListElem(null, value);// создание новой переменной
temp.Next = _curent.Next;//сохраняем в новый элемент ссылку текущего элемента
_curent.Next = temp;//за текущим элементов вставляем новый
_curent = temp;//новый элемент делаем текущим
}
current = _curent; //возвращаем значение в основную программу
}
public void Show()// метод просмотра списка
{
Console.WriteLine("Однонаправленный список:");
OwnListElem temp = _head;//создать новый элемент и записать в него первый
while (temp != null)//цикл до конца списка
{
...