C Упражнения: создание и отображение односвязного списка

Связанный список C: Упражнение 1 с решением

Напишите программу на C для создания и отображения односвязного списка.

Наглядное представление:

Пример решения:

Код C:

  #include  #include  struct node {int num; //Данные узла struct node * nextptr; //Адрес следующего узла} * stnode; void createNodeList (int n); //функция для создания спискаvoid displayList (); //функция для отображения списка int main () {int n; printf (" n  n Связанный список: для создания и отображения односвязного списка:  n"); printf ("----------  --------------------------------------------------  -  n ");  printf ("Введите количество узлов:");  scanf ("% d", & n);  createNodeList (n);  printf (" n Данные, введенные в список:  n");  displayList ();  return 0;} void createNodeList (int n) {struct node * fnNode, * tmp;  целое число, я;  stnode = (узел структуры *) malloc (sizeof (узел структуры));  if (stnode == NULL)//проверяем, является ли fnnode NULL, и если да, то не выделяется память {printf ("Память не может быть выделена.");  } else {//считывает данные для узла с помощью клавиатуры printf ("Входные данные для узла 1:");  scanf ("% d", & num);  stnode-> число = число;  stnode-> nextptr = NULL; //связывает поле адреса с NULL tmp = stnode;//Создание n узлов и добавление в связанный список for (i = 2; inum = num;//связывает поле num fnNode с num fnNode-> nextptr = NULL;//связывает адресное поле fnNode с NULL tmp-> nextptr = fnNode;//связывает предыдущий узел, т.е. tmp, с fnNode tmp = tmp-> nextptr;}}}} void displayList () {struct node * tmp; if (stnode  == NULL) {printf ("Список пуст.");} Else {tmp = stnode; while (tmp! = NULL) {printf ("Data =% d  n", tmp-> num);//выводит  данные текущего узла tmp = tmp-> nextptr;//продвигает позицию текущего узла}}}  

Пример вывода:

 Связанный список  : Для создания и отображения односвязного списка: -----------------------------------------  -------------------- Введите количество узлов: 3 Входные данные для узла 1: 5 Входные данные для узла  e 2: 6 Входные данные для узла 3: 7 Данные, введенные в список: Data = 5 Data = 6 Data = 7 

Блок-схема:

createNodeList ():

displayList ():

Редактор кода программирования на C:

Оцените статью
nanomode.ru
Добавить комментарий