Java复习<简单数据排序>&数据结构预习<专有名词理解>

水平有限仅供交流

请对下列数据进行排序,说说Java编程的套路。

1001 zhangsan 5006
1002 lisi 8123
1003 wangwu 7845
1004 zhaoliu 12000
1005 qianqi 3220

注:每行数据有三项:工号 姓名 工资

核心:

面向目标对象的数据处理

套路:

1明确目标对象组成结构

2设置对象数据结构,设置必要属性,增添类中属性和构造方法辅助数据处理

3编写算法对数据进行处理

4以固定格式输出处理过的数据


import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

//核心:面向目标对象的数据处理
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 编写算法对数据进行处理
		Scanner cin = new Scanner(System.in);
		Student student[] = new Student[5];
		for (int i = 0; i < 5; i++) {
			student[i] = new Student(cin.nextInt(), cin.next(), cin.nextInt());
		}
		// 以固定格式输出处理过的数据
		System.out.println("******工号倒序排列******");
		Arrays.sort(student);
		for (Student x : student) {
			System.out.println(x.toString());
		}
		System.out.println("******以字典序对名字排序******");
		Arrays.sort(student,new StudentName());
		for (Student x : student) {
			System.out.println(x.toString());
		}

	}

}

// 明确目标对象组成结构
class Student implements Comparable<Student> {
	// 设置对象数据结构,设置必要属性,增添类中属性和方法辅助数据处理
	int id;
	String name;
	int salary;

	public Student(int id, String name, int salary) {
		super();
		this.id = id;
		this.name = name;
		this.salary = salary;
	}

	@Override
	public int compareTo(Student o) {
		// TODO Auto-generated method stub
		return -this.id + o.id;
	}

	@Override
	public String toString() {
		return id + " " + name + " " + salary;
	}

}
class StudentName implements Comparator<Student>{

	@Override
	public int compare(Student o1, Student o2) {
		// TODO Auto-generated method stub
		return o1.name.compareTo(o2.name);
	}

	
}
  • 自学数据结构第一章,回答下列问题

  1. 解释数据、数据元素、数据项、关键字、主关键字。
  2. 数据:信息的符号表示,计算机的处理对象(例如:姓名年龄,电话号码)

    数据元素:描绘一个东西时所用的一组数据(例如:一个学生的学籍信息由各种数据构成,姓名、学号、年龄)

    数据项:数据元素中最小的单位(例如学籍信息中的某一项例如学号20200865XXX

    关键字:识别元素(基本的信息标志,例如分数成绩,不会出现在你的体检报告里,这些数据项标志了这个是学习数据)

    主关键字:唯一识别元素(核心数据描述对象)

  3. 解释数据结构,有几种类型的数据结构,各举例说明。
  4. 数据结构:相互之间存在一种或者多种特定关系的数据元素的集合(数据的逻辑结构、

    数据的存储结构,数据操作--------存成什么样子、在哪里存、存了怎么用

    类型: 1、集合结构;2、线性结构;3、树型结构;4、图形结构。


  5. 数据的存储结构有那几种。
  6. 1、顺序存储结构

    2、链式存储结构

  7. 对数据有哪些操作?
  8. 对增删改查的进一步实现

  9. Java有那些基本的数据类型。
  10. 自行参考Java课本(大黄书)

  11. 抽象的数据类型与具体的数据类型有什么不一样   

  12. 算法的5个特性是什么?
    1. 有穷性
    2. 确定性
    3. 输入
    4. 输出
    5. 可行性
  13. 算法设计的目标是什么?
    1. 正确性
    2. 可读性
    3. 健壮性
    4. 高时间效率
    5. 高空间效率
  • 算法的时间复杂度与空间复杂度如何计算
  • 自己动动小脑袋瓜想想就知道了

 

  1. 推荐图书《大话数据结构》

    有些观点和结构很不错

posted @ 2021-09-03 19:02  "星尘"  阅读(57)  评论(0)    收藏  举报