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

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

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

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

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

Код C:

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

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

 Двусвязный список: создание и отображение двусвязного списка: ----------------------------------  --------------------------------- Введите количество узлов: 3 Входные данные для узла 1: 2 Входные данные для  узел 2: 5 Входные данные для узла 3: 8 В список внесены следующие данные:  узел 1: 2 узел 2: 5 узел 3: 8 

Блок-схема:

DlListcreation ():

displayDlList ():

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

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