class SelectSort{
public static void main(String[] args){
int arr[]={1,22,9,12,5,6,7};
select(arr);
for(int x=0;x<arr.length;x++){
System.out.println(arr[x]);
}
}
//选择排序
public static void select(int[] arr){
for(int x=0;x<arr.length-1;x++){
for(int y = x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
分享到:
相关推荐
选择排序: 每次在“无序”队列中选择“最小值”,放在有序队列最后,并从无序队列中删除该值。
* 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。
归并排序 在排序前,先建好一个长度等于原数组长度的临时数组
按下标的一定增量分组,对每组使用直接插入算法排序;随着增量 * 逐渐减少,每组包含的关键字越来越多,当增量减至1时,整个文件恰 * 好被分成一组,算法便终止。 * 8,9,1,7,2,3,5,4,6,0 * //初始增量 gap=...
在Java编程语言中,排序是数据处理中非常基础且重要的操作。本文将深入探讨两种基本的排序算法:选择排序和冒泡排序,并通过实际代码实现和时间复杂度分析进行比较。 选择排序是一种简单直观的排序算法。它的基本...
快速排序 * 1.i=left,j=right,将基准数挖出形成第一个坑a[i]; * 2.j--由后向前找比它小的数,找到后挖出此数填前一个坑a[i]; * 3.i++由前向后找比它大的数,找到后挖出此数填到前一个坑a[j]中 * 4.以i为中线,...
基数排序/桶排序 *统计将数组中的数字分配到桶中后,各个桶中的数字个数 *数组中每个数的每一位数根据大小分配到对应大小为0~9的桶 *将各个桶中的数字个数,转化成各个桶中最后一个数字的下标索引
插入排序: * 始终定义第一个元素为有序, 将无序元素 * 逐个插入到有序排列之中,不断的移动数据, * 空出一个适当的位置,把待插入的元素放到里 * 面去。
在Java中实现选择排序,我们可以创建一个名为`AlgorithmSelectSort`的类,用于封装选择排序的过程。以下是一个可能的`AlgorithmSelectSort.java`文件内容: ```java public class AlgorithmSelectSort { // 选择...
希尔排序的核心在于间隔序列的选择,常见的间隔序列有Hibbard序列、Sedgewick序列、Cocktail序列等。其中,Hibbard序列通常定义为`h[i] = floor(n / 2^i)`,Sedgewick序列则为`h[i] = floor((sqrt(5) - 1) / 2 * h[i...
本主题聚焦于“java线程应用——排序过程动态显示”,通过源码和示例程序来阐述如何利用线程来实时展示排序算法的动态过程。 首先,排序过程动态显示意味着我们将使用线程来逐个步骤地执行排序算法,同时更新用户...
冒泡排序是一种基础且经典的排序算法,其工作原理是通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成...
首先,我们从标题和描述出发,"java算法——玩家扑克牌"表明我们需要创建一个扑克牌游戏,其中包含玩家和扑克牌的管理。扑克牌游戏通常涉及发牌、比较牌面大小等操作,因此我们需要对扑克牌进行定义和组织。 1. **...
**AlgorithmQuickSort.java** 文件很可能是实现快速排序算法的Java代码。在Java中,快速排序通常通过递归函数实现。以下是一个简单的快速排序的Java实现示例: ```java public class QuickSort { public void ...
面向对象编程的基础 要了解面向对象编程(OOP)的基本概念,需要理解 OOP 的三个主要概念,它们撑起 了整个 OOP 的框架。这三个概念是:封装、继承性和多态性。除此以外,还需了解对象、 类、消息、接口、及抽象等...
自动生成500个随机数,然后对这500个随机数进行归并排序
综上所述,"java语言——老师随机点名系统"涵盖了Java语言基础、图形用户界面设计、随机数生成、数据结构与算法、文件操作、异常处理以及测试等多个核心知识点。通过学习和实践这样的项目,开发者可以巩固Java编程...
下面将根据"java面试——深圳-中国平安-Java中级.pdf"这份资料,提炼出一些核心的Java知识点。 1. **Java基础**: - **数据类型**:包括基本数据类型和引用数据类型,理解它们的区别和内存管理。 - **类与对象**...
这份"java面试——深圳-银盛支付-Java中级.zip"压缩包文件很可能包含了针对Java中级开发者的一系列面试问题和解答,旨在帮助求职者提升自己的技能,并在面试中脱颖而出。下面,我们将深入探讨一些可能涵盖的Java中级...
Java 基础程序设计是 Java 编程语言的基础知识,包括 Java 语言的基本知识、Java 控制语句、Java 循环语句、Java 数组等。 一、Java 语言基础知识 Java 语言是一种面向对象的编程语言,由 James Gosling 等人在 ...