数据结构课程设计(C语言)

来源:百度知道 编辑:UC知道 时间:2024/05/15 05:23:34
设有n个学生,每个学生包含学号、姓名、分数三部分数据,其中学号是关键字,依次输入这些学生数据来建立一棵二叉排序树,然后再输入一个学号进行查找,查找成功则输出该学生的数据;查找失败输出找不到信息。

我这个和你要的差不多吧,,我做实验用的..笔视收费

#include <iostream>
#include <string.h>
#include <string> //字符串操作
#include <iomanip>
using namespace std;
#define N 50 //学生数
#define M 10 //课程数
struct student
{ char name[20];
int number;
int score[8];
}stu[60];
string kechengming[M];

void changesort(struct student a[],int n,int j)
{int flag=1,i;
struct student temp;
while(flag)
{flag=0;
for(i=1;i<n-1;i+=2)
if(a[i].score[j]<a[i+1].score[j]) /*奇数项比较*/
{temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
flag=1;
}
for(i=0;i<n-1;i+=2)
if(a[i].score[j]<a[i+1].score[j]) /*偶数项比较*/
{temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
flag=1;
}
}
}

void print(struct student a[],int n,int j)
{
int i,k;
cout<<kechengming[j]<<"前5名数据如下:"<<endl