当前位置: 首页 > news >正文

网站建设试题卷2023智慧树网络营销答案

网站建设试题卷,2023智慧树网络营销答案,怎么做好销售,门户网站前期网络采集商家信息免费发布目录 前言 一、什么是选择排序 二、实现选择排序 三、使用泛型扩展 四、使用自定义类型测试 前言 今天天气不错,这么好的天气不干点啥实在是有点可惜了,于是乎,拿出键盘撸一把! 来,今天来学习一下排序算法中的选…

目录

前言

一、什么是选择排序

二、实现选择排序

三、使用泛型扩展

四、使用自定义类型测试


前言

今天天气不错,这么好的天气不干点啥实在是有点可惜了,于是乎,拿出键盘撸一把!

来,今天来学习一下排序算法中的选择排序法。

一、什么是选择排序

简单来说就是:

先把最小的拿出来

剩下的,再把最小的拿出来

剩下的,再把最小的拿出来

。。。。。。依次类推,每次都是选择还没处理的元素中最小的元素。

比如下图所示,一个乱序的数组经过排序后得到了一个有序的数组:

实现思想:双层循环,外层i从下标0开始遍历,内层j从下标为i的位置开始遍历,遍历得到最小的元素之后, 与下标为i的元素进行交换,之后i加1,重新开始上述步骤。

二、实现选择排序

下面我们通过代码来实现上面的这个乱序的整型数组的排序:

public class SelectionSort {public static void main(String[] args) {int[] arr = {6, 4, 2, 3, 1, 5};SelectionSort.sort(arr);for (int ele : arr) {System.out.print(ele + " ");}System.out.println();}private SelectionSort() {}public static void sort(int[] arr) {for (int i = 0; i < arr.length; i++) {// 选择arr[i...n)中最小值的索引int minIndex = i;for (int j = i; j < arr.length; j++) {if (arr[j] < arr[minIndex]) {minIndex = j;}}swap(arr, i, minIndex);}}private static void swap(int[] arr, int i, int j) {int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}
}

运行结果如下:

三、使用泛型扩展

下面将排序方法扩展成为泛型方法,并且为泛型添加Comparable约束,在测试方法main()中,我们不能使用基本数据类型int了,而是需要使用装箱类Integer,代码如下:

public class SelectionSort {public static void main(String[] args) {Integer[] arr = {6, 4, 2, 3, 1, 5};SelectionSort.sort(arr);for (int ele : arr) {System.out.print(ele + " ");}System.out.println();}private SelectionSort() {}public static <T extends Comparable<T>> void sort(T[] arr) {for (int i = 0; i < arr.length; i++) {// 选择arr[i...n)中最小值的索引int minIndex = i;for (int j = i; j < arr.length; j++) {if (arr[j].compareTo(arr[minIndex]) < 0) {minIndex = j;}}swap(arr, i, minIndex);}}private static <T> void swap(T[] arr, int i, int j) {T temp = arr[i];arr[i] = arr[j];arr[j] = temp;}
}

运行完了,同样好使的哈:

 

四、使用自定义类型测试

首先,跟上一篇中《最简单的算法:线性查找法》一样,我们来整个Student类,该类实现Comparable接口,重写compareTo(),如下所示:

public class Student implements Comparable<Student> {private String name;private int score;public Student(String name, int score) {this.name = name;this.score = score;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (this.getClass() != obj.getClass())return false;Student stu = (Student) obj;return this.name.equals(stu.name);}@Overridepublic int compareTo(Student stu) {return this.score - stu.score;}@Overridepublic String toString() {return String.format("Student(name:%s,score:%d)", name, score);}
}

然后,在main()中进行测试:

 

得到结果如下:

OK,以上主要介绍了如何实现一个通用数据类型的选择排序算法,如何一步一步的优化,今天的内容就这么多了,下期再会!

http://www.fp688.cn/news/159832.html

相关文章:

  • 主题网站设计实验步骤最厉害的搜索引擎
  • 给一个企业做网站建站系统cms
  • 深圳哪做网站seo推广怎么收费
  • 网站建设需求分析怎么写南宁网站运营优化平台
  • 室内设计学校在哪里网站seo培训
  • .net 开发门户网站优化培训内容
  • wordpress设置html重庆旅游seo整站优化
  • 做汽车配件外贸用什么网站重庆seo排名扣费
  • 网站设计 术语com天堂网
  • 旅游门户网站建设意义seo在线优化技术
  • 那里做一元云购网站免费人脉推广
  • 亚马逊跨境电商官网厦门seo排名公司
  • 河南网站建设首选公司网络推广发帖网站
  • 给一个公司做网站需要什么内容免费个人网页制作
  • wordpress小工具迁移优化大师会员兑换码
  • 广西南宁网站设计一站式推广平台
  • 广东省东莞seo技术
  • 培训机构优化网站优化排名金苹果下拉
  • 双滦网站建设关键词优化的价格查询
  • 建 网站 是软件开发洛阳seo网络推广
  • 北京市网站制作公司怎样做平台推广
  • 杭州网站商场开发保定百度首页优化
  • wordpress储存媒体插件seo推广任务小结
  • 网站和微信订阅号优势福州360手机端seo
  • 网站设计开发项目书网络营销策划步骤
  • html5 网站推荐哪里有网络推广
  • wp做图网站搜索广告是什么意思
  • 网站域名注册时间怎样做网络推广效果好
  • 怎么在网站做系统深圳网站建设专业乐云seo
  • 网站由那些组成长沙优化排名推广