⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch2_ltable.c

📁 本人讲授数据结构课程时的所写的示例程序
💻 C
字号:
/*
表的链式实现(插入操作保持)
author: kk.h
date: 2006.9
http://www.cocoon.org.cn
*/

#include "stdio.h"
/* 数据元素的类型 */
typedef struct{
  int no;
  int grade;
}ElemType;

/* 链表节点的类型(包括头节点) */
typedef struct Node{
  ElemType elem;
  struct Node *next;
}LNode;

/* 在头节点之后插入一个新节点 */
ListInsert(LNode* pL1,ElemType e)
{
  LNode* node;
  node = (LNode*)malloc(sizeof(LNode));
  node->elem = e;
  node->next = pL1->next;
  pL1->next = node;
}

/* 显示链表中所有元素 */
ShowList(LNode* pL1)
{
  LNode *node;
  node = pL1->next;
  while(node){
    printf("\n  (%d,  %d)",node->elem.no,node->elem.grade);
    node=node->next;
  }
}

/* 释放链表空间 */
DestroyList(LNode* pL1)
{
  LNode *node;
  node = pL1;
  while(node){
    pL1=pL1->next;
    free(node);
    node=pL1;
  }
}
main()
{
  /*分配一个头节点,代表一个链表*/
  LNode *pL1;
  ElemType e;

  pL1 = (LNode*)malloc(sizeof(LNode));
  pL1->next=NULL;

  e.no=1;e.grade=85;
  ListInsert(pL1,e);
  e.no=3;e.grade=70;
  ListInsert(pL1,e);
  e.no=7;e.grade=90;
  ListInsert(pL1,e);

  ShowList(pL1);

  DestroyList(pL1);

  getch();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -