Ввести с клавиатуры число и поместить его перед тем элементом списка, который больше него - C (СИ) (79543)
Формулировка задачи:
Создать односвязный список с помощью массива целых чисел. Ввести с клавиатуры число и поместить его перед тем элементом списка, который больше него.
Как это реализовать, в тупике, вот моя жалкая попытка:
}
#define m 50 int i,num,k=0,max,n; int count=0; int p[m],a[m],next[m]; int main (void) { printf(" How match elements?\n"); scanf("%d",&n); printf("input mas razmerom %i\n",n); for(i=0;i<n;i++) { p[i]=0; scanf("%d",&a[i]); count++; } printf("Enter num:\n"); scanf("%i",&num); for(i=0;i<n;i++){ p[count]=a[i]; if(p[i]<p[i+1]) i=k;num=a[k];
Решение задачи: «Ввести с клавиатуры число и поместить его перед тем элементом списка, который больше него»
textual
Листинг программы
class list { struct Node//Элемент списка { int val; //Значение, которое хранит элемент Node* next; //Указатель на следующий элемент Node(int v); //Конструктор элемента списка }; //Указатель на начало и конец списка Node* begin; Node* end; public: //... //Описание конструкторов, деструкторов, функций и операторов //... };
Объяснение кода листинга программы
- В начале кода определена структура
Node
, которая представляет элемент списка. У элемента есть значениеval
и указатель на следующий элементnext
. - Определены указатели
begin
иend
, которые указывают на начало и конец списка соответственно. - В открытом разделе определены конструкторы, деструкторы, функции и операторы, которые не показаны в данном коде.
- Для использования этих переменных, вам необходимо создать объект класса
list
. - В функции
insert
мы создаем новый элемент списка с помощью конструктораNode(int v)
. - Затем мы ищем место, где нужно вставить новый элемент. Для этого мы начинаем с указателя
begin
и сравниваем значения каждого элемента с введенным числом. - Как только мы находим элемент, который больше введенного числа, мы вставляем новый элемент перед этим элементом.
- Если мы доходим до конца списка и не находим элемент, который больше введенного числа, мы вставляем новый элемент в конец списка.
- Мы возвращаем указатель на новый элемент списка.
- В функции
main
мы создаем объект классаlist
и вызываем функциюinsert
, передавая ей введенное с клавиатуры число и указатель на начало списка. - Затем мы выводим список на экран.
- Ввод с клавиатуры числа и вывод списка на экран не показаны в данном коде.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д