Создать односвязный список из структур - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста..Сколько читаю ничего не понимаю(Большинство с классами...которые мы не изучали. Понимаю что должно быть значение и указатель на следующий элемент. Создаем структуру
struct node
{
int value;
node *next;
}
Как сформулировать всё дальше(надеюсь на помощь.

Решение задачи: «Создать односвязный список из структур»

textual
Листинг программы
#include "stdafx.h"
#include <conio.h>
#include "iostream"
#include <time.h>
 
using namespace std;
 
struct node
{
int value;
node *next;
};
 
void main (void)
{
int a;
int n;
srand(time(NULL));
 
cin>>a;
cin>>n;
cout<<endl;
 
node* head;
head= new node;
head ->value=5;
node* tmp;
node* tmp1;
tmp=head;
for(int i=0 ;i<a;i++)
{
tmp1=new node;
tmp1->value=rand()%10;
tmp->next=tmp1;
tmp1->next=NULL;
tmp=tmp1;
}
cout<<"Поидем дальше вывод...";
for(tmp1=head;tmp1!=NULL;tmp1=tmp1->next)
cout<<tmp1->value<<" ";
cout<<endl;
 
node*temp=head;//Удаляем первый элемент
  head = head->next;
  delete temp;
 
 
  for (tmp1=head; tmp1!=NULL;tmp1=tmp1->next)
      if (tmp1->value!=n) delete tmp1;
 
for(tmp1=head;tmp1!=NULL;tmp1=tmp1->next)
cout<<tmp1->value<<" ";
 
getch();
 
}

Объяснение кода листинга программы

В этом коде создается односвязный список из структур, представленный в виде узлов. Каждый узел содержит целочисленное значение и указатель на следующий узел.

  1. Структура node объявляется для представления отдельного узла в списке.
  2. В функции main инициализируются переменные a и n, а затем вызывается функция srand(time(NULL)) для инициализации генератора случайных чисел.
  3. Создается первый узел списка, и его значение устанавливается равным 5.
  4. В цикле for создается несколько новых узлов, и их значения и указатели на следующий узел устанавливаются с использованием генератора случайных чисел.
  5. Выполняется два цикла for, в которых выводятся значения всех узлов списка.
  6. Удаляется первый элемент списка, и указатель на голову списка обновляется, чтобы указывать на новый первый элемент.
  7. В цикле for ищется узел с указанным значением n и удаляется.
  8. Выполняется еще один цикл for, в котором выводятся значения всех оставшихся узлов списка.
  9. Программа завершается вызовом функции getch(), которая ожидает нажатия клавиши.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы