`
祖祖cool
  • 浏览: 52404 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

java选择法排序

阅读更多
public class SelectSortApp
{
    public static void main(String[] args)
       {
       int maxSize = 100;            // array size
       ArraySel arr;                 // reference to array
       arr = new ArraySel(maxSize);  // create the array

       arr.insert(77);               // insert 10 items
       arr.insert(99);
       arr.insert(44);
       arr.insert(55);
       arr.insert(22);
       arr.insert(88);
       arr.insert(11);
       arr.insert(00);
       arr.insert(66);
       arr.insert(33);

       arr.display();                // display items

       arr.selectionSort();          // selection-sort them

       arr.display();                // display them again
       }  // end main()
    }  // end class SelectSortApp
////////////////////////////////////////////////////////////// //

public class ArraySel
{
    private long[] a;                 // ref to array a
    private int nElems;               // number of data items
// --------------------------------------------------------------
    public ArraySel(int max)          // constructor
       {
       a = new long[max];                 // create the array
       nElems = 0;                        // no items yet
       }
// --------------------------------------------------------------
    public void insert(long value)    // put element into array
       {
       a[nElems] = value;             // insert it
       nElems++;                      // increment size
       }
// --------------------------------------------------------------
    public void display()             // displays array contents
       {
       for(int j=0; j<nElems; j++)       // for each element,
          System.out.print(a[j] + " ");  // display it
       System.out.println("");
       }
// --------------------------------------------------------------
    public void selectionSort()
       {
       int out, in, min;

       for(out=0; out<nElems-1; out++)   // outer loop
          {
          min = out;                     // minimum
          for(in=out+1; in<nElems; in++) // inner loop
             if(a[in] < a[min] )         // if min greater,
                 min = in;               // we have a new min
          swap(out, min);                // swap them
          }  // end for(out)
       }  // end selectionSort()
// --------------------------------------------------------------
    private void swap(int one, int two)
       {
       long temp = a[one];
       a[one] = a[two];
       a[two] = temp;
       }
// --------------------------------------------------------------
    }  // end class ArraySel
2
1
分享到:
评论

相关推荐

    java 选择排序法

    在Java中实现选择排序,我们通常会用到数组这一数据结构。 首先,我们要理解Java中的数组。数组是一种线性数据结构,它将相同类型的元素存储在连续的内存位置中,通过索引来访问这些元素。在Java中,声明数组时需要...

    java 冒泡法、选择法、插入法排序实现代码

    本主题将深入探讨Java中三种基础的排序算法:冒泡法、选择法和插入法。 1. **冒泡排序(Bubble Sort)**: 冒泡排序是一种简单直观的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就...

    Java 选择法对10个数进行排序.rar

    Java 对10个数进行排序,这里使用了选择法,即从后9个数开始比较,选择一个最小的与第一个数交换,依次类推,即用第二个数与后8个数进行比较,若比较出的值大于或小于刚才第9个比较出的数,则进行交换,直到最后将...

    Java 冒泡法,选择法,插入法,快速排序法,实现代码。

    本主题将深入探讨四种常见的排序算法:冒泡排序、选择排序、插入排序和快速排序,这些算法在Java中都有相应的实现。下面,我们将详细讲解每种排序算法的工作原理,并给出Java代码实现。 1. 冒泡排序(Bubble Sort)...

    java 数组排序 之 选择法

    java数组排序经典之一,选择法,效率很高的一种排序方法,内部实现二分搜索法。

    Java各种排序算法(含代码)

    在编程领域,排序算法是数据结构与算法学习中的基础部分,尤其在Java中,了解和掌握各种排序算法对于提升程序性能至关重要。以下是对标题和描述中提到的Java各种排序算法的详细解释,以及它们的实现代码概述。 1)*...

    java 快速排序 折半查找的界面实现 (递归与分治法)

    在快速排序中,我们选择一个基准值(pivot),然后将数组分为两部分:一部分包含所有小于基准的元素,另一部分包含所有大于或等于基准的元素。这个过程通过递归地对这两部分进行快速排序来完成,直到子数组的大小...

    JAVA 冒泡法,选择法,插入法,快速排序法,实现代码

    以下是关于JAVA中冒泡法、选择法、插入法和快速排序法的详细知识及其实现代码的概述。 1. **冒泡排序(Bubble Sort)**: 冒泡排序是一种简单的交换排序方法,通过不断比较相邻元素并交换位置,使较大的元素逐渐...

    用java实现冒泡排序法

    下面我们将详细介绍如何用Java实现冒泡排序及其工作原理。 冒泡排序的工作原理: 冒泡排序的基本思想是重复地遍历待排序的序列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历序列的工作是重复地...

    java汉字笔画排序2源代码jar包

    Java汉字笔画排序是一个在中文处理领域常见的需求,特别是在数据整理、信息检索或者用户界面排序等方面。本项目提供的"java汉字笔画排序2源代码jar包"是一个优化过的解决方案,旨在减少内存占用并提高排序效率。 ...

    java Document 快速排序法

    然而,标题中的"java Document 快速排序法"可能指的是在一个包含文档数据的结构(如数组)中实现快速排序,而不是直接在Document对象上操作。由于Document主要处理文本数据,我们通常不会直接在Document上进行数值...

    Java版快速排序法

    这是一个用Java语言实现的快速排序算法,快速排序算法是根据分冶思想去实现的。

    Java的快速排序法

    在Java中实现快速排序,通常会用到递归。下面我们将深入探讨快速排序的步骤、优点、缺点以及如何在实际代码中实现。 ### 步骤 1. **选择基准**:首先,我们需要选择一个元素作为基准。这可以是数组的第一个元素,也...

    java选择排序等排序算法资源:java排序算法源代码(包括冒泡排序,选择排序,插入排序)

    本资源包含了几种基本的排序算法,如冒泡排序、选择排序和插入排序,这些都是理解和学习算法的基础。 **冒泡排序**是最基础的排序算法之一,它通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把...

    java 排序算法 选择排序,插入排序,自顶向上合并排序,合并排序,快速排序

    在编程领域,排序算法是数据结构与算法学习中的重要组成部分,尤其在Java中,掌握各种排序算法对于优化程序性能至关重要。以下将详细讲解标题和描述中提到的五种排序算法:选择排序、插入排序、自顶向上合并排序、...

    java版冒泡排序,插入排序,堆排序,快速排序,归并排序,希尔排序,桶排序

    归并排序也是一种基于分治法的排序算法。它将数组分为两半,分别对左右两半进行归并排序,然后再合并这两个已排序的子数组。Java中,可以使用两个辅助数组来辅助排序和合并的过程。 6. **希尔排序(Shell Sort)**...

    JAVA实现快速排序

    JAVA实现快速排序 快速排序是一种高效的排序算法,它的实现可以分为两个部分:基本思想和复杂度分析。在基本思想中,快速排序采用“分而治之”的思想,把大的拆分为小的,小的拆分为更小的,直到序列中的所有记录均...

    插入排序法JAVA代码

    插入排序是一种基础且直观的排序算法,它的工作原理类似于我们平时整理扑克牌或者书本的方式。...虽然不是最高效的排序算法,但插入排序对于小规模数据或近似有序的数据,其简单性和效率使其成为实用的选择。

    Java各种排序算法_随机数

    选择排序是指通过选择最大或最小的记录来实现排序的算法,常见的选择排序算法有直接选择排序和堆排序。直接选择排序的时间复杂度为 O(n^2),而堆排序的时间复杂度为 O(nlogn)。堆排序是一种高效的排序算法,但它是不...

    值得看看冒泡排序法java

    根据给定的信息,我们可以深入探讨冒泡排序算法及其在Java中的实现细节。冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复...

Global site tag (gtag.js) - Google Analytics