REMOVE_7.C
资源名称:C.rar [点击查看]
上传用户:qq5388545
上传日期:2022-07-04
资源大小:29849k
文件大小:1k
源码类别:

界面编程

开发平台:

C/C++

  1. #include <stdio.h>
  2. #include <alloc.h>
  3. void main(void)
  4.  {
  5.    int i, found;
  6.    struct ListEntry {
  7.      int number;
  8.      struct ListEntry *next;
  9.      struct ListEntry *previous;
  10.    } start, *node;
  11.    start.next = NULL;  // Empty list
  12.    start.previous = NULL;
  13.    node = &start;      // Point to the start of the list
  14.    for (i = 1; i <= 10; i++)
  15.      {
  16.        node->next = (struct ListEntry *) malloc(sizeof(struct ListEntry));
  17.        node->next->previous = node;
  18.        node = node->next;
  19.        node->number = i;
  20.        node->next = NULL;
  21.      }
  22.     // Remove the entry
  23.     node = start.next;
  24.     found = 0;
  25.     do {
  26.         if (node->number == 7)
  27.           {
  28.             found = 1;
  29.             node->previous->next = node->next;
  30.             node->next->previous = node->previous;
  31.             free(node);
  32.           }
  33.         else
  34.           node = node->next;
  35.     } while ((node) && (! found));  // Show 10 only one time   
  36.     node = start.next;
  37.     do {
  38.         printf("%d ", node->number);
  39.         node = node->next;
  40.     } while (node);
  41.  }