数据结构(用C语言描述)编程题求助!!! 15
问题描述:某系学生举行英语竞赛。竞赛分三个部分进行:第一部分:文法;第二部分:笔译;第三部分:口语。竞赛的结果按下述原则排列:1.首先看总分的高低。2.总分相同者按口语成...
问题描述:
某系学生举行英语竞赛。竞赛分三个部分进行:第一部分:文法;第二部分:笔译;第三部分:口语。竞赛的结果按下述原则排列:1.首先看总分的高低。2.总分相同者按口语成绩的高低。3.总分和口语成绩都相同按笔译成绩的高低。试设计一个结构,每个结点存放一个学生的竞赛结果,然后对所有的学生排出各人的名词。
基本要求:
按名次将所有结点排序并输出
按姓名的字母顺序将所有的结点输出,在结点中给出各人的名次
用两种不同的排序方法实现
存储结构自定 展开
某系学生举行英语竞赛。竞赛分三个部分进行:第一部分:文法;第二部分:笔译;第三部分:口语。竞赛的结果按下述原则排列:1.首先看总分的高低。2.总分相同者按口语成绩的高低。3.总分和口语成绩都相同按笔译成绩的高低。试设计一个结构,每个结点存放一个学生的竞赛结果,然后对所有的学生排出各人的名词。
基本要求:
按名次将所有结点排序并输出
按姓名的字母顺序将所有的结点输出,在结点中给出各人的名次
用两种不同的排序方法实现
存储结构自定 展开
2个回答
展开全部
这是个二叉排序树例题,希望对你有帮助! #include "stdio.h" # include "stdlib.h" struct Bnode {int data; struct Bnode *lchild,*rchild; }; void insertbst(Bnode *&t, Bnode *s) {if (t== NULL) t=s; else if (s->data< t->data) insertbst(t-> lchild,s); else insertbst(t-> rchild,s); } void inorder(Bnode *t) { if (t!=NULL) { inorder(t->lchild); printf("%d ", t->data); inorder(t->rchild); } } void main() {int i,x; Bnode *t=NULL,*s; for (i=1;i<=4;i++) {scanf("%d",&x); s=( Bnode *)malloc(sizeof(Bnode)); s->data=x; s-> lchild= NULL; s-> rchild= NULL; printf("\n"); insertbst(t,s); } inorder( t); printf("\n"); }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询