1.直接排序算法:从第二个元素开始迭代,和前面的元素比较大小,如果发现大于自己的,先用一个临时变量保存好自己,然后从该位置开始到自己位置的元素往后移一个位置。再把自己放在该位置。
代码1.
public static void main(String[] args) {
int[] a=new int[10];
System.out.println("排序之前:");
for(int i=0;i<a.length;i++){
// double random=Math.random()*10;
//double d=Math.floor(random);//Math.round(random);
a[i]=(int)Math.floor(Math.random()*10) ;
System.out.println(a[i]);
}
int temp =0;
for(int i=0;i<a.length;i++){
for(int j=0;j<i;j++){
if(a[j]>a[i]){
temp=a[i];
for(int k=i;k>j;k--){
a[k]=a[k-1];
}
a[j]=temp;
}
}
}
System.out.println("最后直接排序以后:");
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
代码2.
public static void main(String[] args) {
Integer[] a=new Integer[10];
int temp=0;
for(int i=0;i<a.length;i++){
a[i]=new Integer(new Long(Math.round(Math.random()*100)).intValue());
}
System.out.println("排序之前:");
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
System.out.println("直接排序之后:");
for(int i=0;i<a.length;i++){
for(int j=0;j<i;j++){
if(a[j].intValue()>a[i].intValue()){
temp=a[i].intValue();
for(int k=i;k>j;k--){
a[k]=a[k-1];
}
a[j]=new Integer(temp);
}
}
}
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
总结:使用java的Integer类,Long等对象比较大小有点繁琐,因为操作的都是对象,所以不能方便地直接使用比较运算符直接比较大小,而使用其他方法。例如两个Integer对象在数字上比较大小要用compareTo(Integer int)方法。
分享到:
相关推荐
这是自己写的排序的程序 数据结构 选择排序 直接排序 冒泡排序
### List 数据字段排序不关注数据库,直接排序 在 Java 开发过程中,经常需要对 List 集合中的数据进行排序处理。本篇文章介绍一种方法,该方法能够在内存中直接对 List 对象的数据字段进行排序,而无需直接操作...
这里我们将深入探讨三种常见的排序算法:冒泡排序、直接排序(也称为插入排序)以及反转排序。这些算法虽然简单,但在理解排序原理和优化算法性能方面具有重要意义。 1. 冒泡排序: 冒泡排序是最基础的排序算法之一...
常见的经典排序算法有希尔排序、二分插入法、直接插入法、带哨兵的直接排序法、冒泡排序、选择排序、快速排序、堆排序等。 一、希尔排序(Shell 排序法) 希尔排序法,又称宿小增量排序,是 1959 年由 D.L.Shell ...
### Java直接排序——选择排序详解 #### 一、引言 在计算机科学中,排序算法是一种非常基础且重要的算法,广泛应用于数据处理、数据分析等领域。本文将深入探讨一种基于Java编程语言的选择排序算法,并通过一个...
直接排序法、折半插入法、希尔排序法和快速排序法是计算机科学中常见的排序算法,它们在数据处理和算法理解上都具有重要的地位。这些排序算法的C语言实现为初学者提供了很好的学习材料,特别是在VC++6.0环境下进行...
直接排序法是计算机科学中一种基础且重要的算法,主要用于对数据序列进行有序排列。在面试中,特别是针对开发和测试开发岗位,候选人被要求掌握并能够灵活运用各种排序算法,直接排序法通常作为基础考察点。本文将...
直接排序法和堆排序法为随机数组排序后输出
Java的排序算法,包括冒泡排序算法,直接排序算法,反转排序算法。 这三种排序算法各有特点,根据情况选择适合你的排序算法
本文主要讨论了算法实验中的几个关键概念,包括栈、队列、二叉树、图的表示方法(邻接矩阵和邻接表)以及几种排序算法(希尔排序、直接排序和快速排序)。以下是这些概念的详细解释: 1. 栈(Stack): 栈是一种...
JavaScript 直接排序是一种在前端对数据进行处理的技术,它主要应用于从服务器获取数据后,对数据进行客户端的动态排序,以满足用户交互时的实时排序需求。在本例中,我们关注的是如何利用JavaScript对从数据库读取...
(1) 完成5种常用内部排序算法的演示,5种排序算法为:快速排序,直接插入排序,选择排序,堆排序,希尔排序; (2) 待排序元素为整数,排序序列存储在数据文件中,要求排序元素不少于30个; (3) 演示程序开始,...
直接插入排序、冒泡排序、快速排序、直接选择排序、堆排序和二路归并排序是计算机科学中经典的排序算法,它们在数据处理和算法学习中占有重要地位。这些排序算法各有特点,适用场景不同,下面将逐一详细介绍,并结合...
直接选择排序(Straight Select Sorting) 也是一种简单的排序方法,它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~R[n-1]中选取...
直接插入排序 选择排序 堆排序 归并排序 快速排序 冒泡排序等七种排序方法
该资源主要是使用python来实现直接插入排序算法和折半插入排序算法。
本话题主要探讨六种内部排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序以及堆排序。这六种排序算法各有优劣,适用于不同的场景,接下来我们将逐一进行详细阐述。 1. **直接插入排序**: 直接...
实现以下常用的内部排序算法并进行性能比较:"直接插入排序"," 折半插入排序"," 2—路插入排序"," 表插入排序"," 希尔排序"," 起泡排序"," 快速排序"," 简单选择排序"," 树形选择排序"," 堆排序"," 归并排序"," 链式...
数据结构(c语言版)严蔚敏 吴伟民编著 中直接插入排序、折半排序、shell排序、冒泡排序、快速排序、选择排序、堆排序的实现、归并排序,使用c语言实现
根据提供的文件信息,我们可以深入探讨几种经典的排序算法:冒泡排序、直接插入排序、快速排序以及希尔排序。这些算法在数据结构与算法课程中是非常重要的基础内容,它们各自有着独特的特性和应用场景。 ### 1. ...