`
wuwu8023
  • 浏览: 3991 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

选择排序的优化

J# 
阅读更多
优化之后的排序比原来的选择排序块很多
package com.px;

public class SlePx {

/**
* @param args
* 选择排序
*/
public static void main(String[] args) {

int[] coll = new int[10];

for(int i=0;i<10;i++){
coll[i]=(int)(Math.random()*10);
System.out.print(coll[i]+" ");
}

System.out.println();
selectpx(coll);
selZypx(coll);

for(int j=0;j<coll.length;j++){
System.out.print(coll[j]+" ");
}
}
//选择排序
public static void selectpx(int[]coll){
int temp;
for(int i=0;i<coll.length-1;i++){
for(int j=i+1;j<coll.length;j++){
if(coll[i]>coll[j]){
temp = coll[j];
coll[j]=coll[i];
coll[i]=temp;
}
}
}
}
//择优选择排序(优化后的选择排序)
public static void selZypx(int[]coll){
int temp;
int k;
for(int i=0;i<coll.length-1;i++){
k=i;
for(int j=k+1;j<coll.length;j++){
if(coll[k]>coll[j]){
k=j;
}
}
if(k>i){
temp = coll[k];
coll[k]=coll[i];
coll[i]=temp;
}
}
}
}


0
0
分享到:
评论

相关推荐

    JAVA选择优化排序

    JAVA 选择排序优化代码 可以作为初学者或者自学者一个参考

    优化冒泡排序和选择排序

    博客文章"优化冒泡排序和选择排序"详细地介绍了这两种排序算法的实现以及它们的优化策略。通过对原始算法的分析和改进,我们可以更好地理解和应用这些排序方法,并在实际编程中根据数据特性选择合适的排序算法,以...

    VB 两种排序方法的优化

    VB中的排序优化主要集中在减少比较次数、避免不必要的交换以及利用已有的优化工具上。对于大规模数据,可以考虑使用更高效的排序算法,如快速排序、归并排序等。理解并应用这些优化策略,可以帮助我们编写出更高效、...

    内部排序,主要是内部排序的讲解,课件

    - **树形选择排序**:基于二叉树结构的选择排序优化,减少了元素的交换次数。 - **堆排序**:利用大顶堆或小顶堆的性质,将数组构建成堆,然后交换堆顶元素与末尾元素,缩小排序范围,重复此过程直到排序完成。 4...

    MySQL优化篇:排序分组优化.pdf

    4. 索引的选择:如果存在范围查询(如使用“&lt;”和“&gt;”符号),则可能造成索引失效,这时候即使有复合索引也无法利用其中的某些列进行排序。 5. using filesort:当无法利用索引排序时,解释(explain)查询计划会...

    数据结构 插入排序、快速排序、选择排序、选择排序

    在本文中,我们将深入探讨四种常见的内部排序方法:插入排序、快速排序、选择排序以及再次提到的选择排序。这四种排序方法在不同的场景下各有优劣,理解它们的工作原理和性能特性对于优化算法至关重要。 **1. 插入...

    六种内部排序算法比较:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序。

    本话题主要探讨六种内部排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序以及堆排序。这六种排序算法各有优劣,适用于不同的场景,接下来我们将逐一进行详细阐述。 1. **直接插入排序**: 直接...

    C#选择排序法排序

    在学习过程中,可以通过实现选择排序来逐步掌握排序算法的基本逻辑和优化思路。 通过以上内容,我们可以了解到C#中如何实现选择排序以及其工作原理。在提供的项目中,你将能够找到一个具体的C#控制台应用程序,该...

    快速排序,堆排序,归并排序,插入排序,选择排序

    本项目涵盖了五种经典的排序算法:快速排序、堆排序、归并排序、插入排序和选择排序。接下来,我们将深入探讨这些算法的原理、实现及性能特点。 1. **快速排序**: 快速排序由C.A.R. Hoare在1960年提出,是一种采用...

    选择排序java 代码

    选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。这种排序算法对于理解排序的基本原理非常有帮助...

    JAVA排序算法: 直接插入,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序

    本文将深入探讨Java编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...

    C++常用排序算法(C++)

    - 树形选择排序:使用二叉搜索树实现的选择排序优化版。 - 堆排序:利用堆数据结构实现的排序算法。 9. **归并排序** 归并排序是分治策略的典型应用,将数组分为两半,分别排序后再合并。 10. **基数排序** 基数...

    快速排序优化的几种方法代码实现

    快速排序是一种高效的排序算法...以上就是快速排序的几种优化方法,它们在不同的场景下能提升快速排序的效率和稳定性。通过这些优化,快速排序在实际应用中展现出强大的性能,成为许多编程语言内置排序函数的首选算法。

    冒泡排序优化算法_C语言_冒泡排序法_优化算法_

    冒泡排序是一种基础的排序算法,它通过重复遍历待排序的序列,比较相邻元素并交换位置,使得每个元素都能“浮”到正确的位置上。这个过程就像水底下的气泡逐渐...在实际开发中,选择更适合问题场景的排序算法至关重要。

    经典排序算法源代码-插入排序-选择排序-冒泡排序

    本资源包含三个经典的排序算法的源代码:插入排序、选择排序和冒泡排序,这些都是初级到中级程序员常学习和使用的算法。下面将详细介绍这三个排序算法的工作原理、特点以及代码实现。 1. **插入排序(Insertion ...

    c++ 7 种排序.快速排序, 归并排序,插入排序,选择排序,起泡排序,堆排序,希尔排序

    下面将详细讲解这7种排序算法:快速排序、归并排序、插入排序、选择排序、冒泡排序、堆排序以及希尔排序。 1. **快速排序**:由C.A.R. Hoare提出的,采用分治策略。基本思想是选取一个基准元素,通过一趟排序将待...

    c#实现选择排序算法

    - 虽然选择排序效率较低,但在实际应用中,可以通过一些策略进行优化,比如使用二分查找来减少内层循环的次数,但这并不能改变其O(n²)的时间复杂度。 通过以上介绍,我们可以看到C#实现选择排序算法的关键在于...

    8种排序算法(选择排序 冒泡排序 快速排序等~)

    这里有8种常见的排序算法,包括选择排序、冒泡排序和快速排序等。这些算法各有特点,适用于不同的场景,理解并掌握它们对于编程和数据处理至关重要。 1. **选择排序(Selection Sort)** 选择排序是一种简单直观的...

    C# 排序算法大全参考资料,比较清淅的一个版本。集中介绍了C#中的冒泡算法、选择排序、插入排序、希尔排序等常用算法,并包含示例代码和注意事项等。

    本文将深入探讨C#中常见的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序,以及它们的实现细节和应用场合。 首先,我们来看**冒泡排序**。冒泡排序是一种简单的交换排序方法,它通过不断比较相邻元素并交换...

Global site tag (gtag.js) - Google Analytics