如题,本程序利用孩树的子表示法存储简易学生信息(姓名与成绩)
初学者作品,欢迎大佬斧正
// 孩子表示法的本质是每个节点设置一个孩子链表,利用顺序结构存储根的节点和孩子们的头指针
//鉴于表示方便,本试验程序用二叉树代替树进行存储
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define Max 50
struct Cnode{ //组成孩子链表
int child; //孩子序号
struct Cnode *next; //指针域
};
struct PtNode{
char name[20];
int score;
struct Cnode *fchild; //孩子链表头指针
};
struct Ctree{
struct PtNode tree[Max]; //用于存储树的结点
int tree_num; //用于存储节点的数量
};
void input(struct Ctree *p); //录入
void output(struct Ctree *p,int x); //读取
int main(void){
struct Ctree *p;
p = (struct Ctree *)malloc(sizeof(struct Ctree));
input(p);
output(p,1);
printf("\n");
free(p);
printf("结束");
return 0;
}
void input(struct Ctree *p){
char nam[20];
int sc;
int i = 1;
int j;
struct Cnode *s;
printf("现在开始录入:(依次输入姓名 成绩,成绩处输入-1结束录入)\n");
s