二叉树数据结构课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广西科技大学

课程设计报告

课程名称《数据结构》

学院计算机科学与通信工程学院

专业软件工程

班级软件181班

学号

姓名冯孔丽

成绩

学期 2019-2020-1 指导教师

1课题:.将学生信息以学号为关键字存储在二叉搜索树中,然后按照学号查询

和删除指定学生的信息。

2设计要求:

(1)从键盘输入学生的学号、姓名、英语和数学成绩,计算每个学生的成

绩总分,存储在二叉排序树中。

(2)按照输入的学号查询指定的学生信息,若找到,则输出找到的学生信息,否则输出“查找失败”提示信息。

(3)按照输入的学号删除指定的学生信息,若二叉排序树中存储指定学号

的学生信息,则删除此学生信息,否则,输出“删除失败”提示信息。

3 程序设计

(1)数据设计:二叉搜索树

(2)编码

○1Main.java

package com.gkd;

import com.binaryNode.BinaryNode;

import com.binaryTree.BinaryTree;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

BinaryTree binarytree=new BinaryTree();

boolean iscontinue=true;

while(iscontinue) {

printOperate();

int userInput=scanner.nextInt();

switch(userInput) {

case 1:

System.out.println("请输入学生的学号:"); int stuNumber = scanner.nextInt();

System.out.println("请输入学生的姓名:"); String stuName = scanner.next();

System.out.println("请输入学生的数学成绩:");

double math=scanner.nextDouble();

System.out.println("请输入学生的英语成绩:");

double english=scanner.nextDouble(); binarytree.insertNode(stuNumber,stuName,math,english); System.out.println("目前学生人数为:"+binarytree.getNodeAmount());

break;

case 2:

System.out.println("你要删除哪位学生的信息(请输入该学生的学号)");

int deleteKey = scanner.nextInt();

boolean

isDeleteNode=binarytree.removeNode(deleteKey);

if (isDeleteNode){

System.out.println("成功删除学生信息");

}

else {

System.out.println("删除学生信息失败");

}

break;

case 3:

System.out.println("请输入你要查询学生的学号");

int key = scanner.nextInt();

BinaryNode node=binarytree.find(key); if(node==null){

break;

}

System.out.println(node);

break;

case 4:

System.out.println("您已退出学生信息管理系统退出系统");

iscontinue=false;

break;

case 5:

binarytree.traversal();

break;

default:

System.out.println("请输入正确数字!"); break;

}

}

}

public static void printOperate(){

System.out.println("************************"); System.out.println("* 请输入操作 *"); System.out.println("* 1:存储学生信息 *"); System.out.println("* 2:删除学生信息 *"); System.out.println("* 3:查询学生信息 *"); System.out.println("* 4:退出系统 *"); System.out.println("* 5:查找所有学生信息 *"); System.out.println("************************"); }

}

○2BinaryTree.java

package com.binaryTree;

import com.binaryNode.BinaryNode;

public class BinaryTree{

private BinaryNode root;//根节点的引用

private int nodeAmount;//二叉树节点数量

public BinaryTree() {

}

private BinaryNode find(int stuNumber,BinaryNode node) {

相关文档
最新文档