`
zengshaotao
  • 浏览: 791562 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

交换排序

 
阅读更多


/**
 * time
 * @author zengst
 * order test
 */
public class SortTest {

 public static void main(String args[]){
  //声明时就进行了初始化
  int dataArr[] = {3,1,4,2,7,9,8};
  //只声明和空间分配
  //int dataArr1[] = new int[10];
  
  orderBy(dataArr,"asc");
  System.out.println("#######################");
  orderBy(dataArr,"desc");
 }
 /**
  * 从大到小或者从小到大排序
  * @param args
  * @param orderFlag
  * @return
  */
 public static int[] orderBy(int [] args,String orderFlag){
  if(Common.ORDER_FLAG_DESC.equals(orderFlag)){
   
   for(int i=0 ; i<args.length ; i++){
    //每次假定第一位最小
    //每次排序后第一位是最小的
    //数据自身是相等的,所以要从i+1开始
    for(int j=i+1 ; j<args.length ; j++){
     int temp;
     if(args[i]<args[j]){
      temp = args[i];
      args[i] = args[j];
      args[j]=temp;
     }
    }
    //查看每一次排序后的数组内容
    for(int k=0 ; k<args.length ; k++){
     System.out.print(args[k]+"\t");
    }
    System.out.println();//换行显示各次排序后的数组
   }
   
  }else if(Common.ORDER_FLAG_ASC.equals(orderFlag)){
   
   for(int i=0 ; i<args.length ; i++){
    //每次假定第一位最大
    //每次排序后第一位是最小的
    //数据自身是相等的,所以要从i+1开始
    for(int j=i+1 ; j<args.length ; j++){
     int temp;
     if(args[i]> args[j]){
      temp = args[i];
      args[i] = args[j];
      args[j]=temp;
     }
    }
    //查看每一次排序后的数组内容
    for(int k=0 ; k<args.length ; k++){
     System.out.print(args[k]+"\t");
    }
    System.out.println();//换行显示各次排序后的数组
   }
   
  }else{
   System.out.println("invalid params !!!");
  }
  return args;
 }
 //内部类定义是可以用关键字private
 private class Common{
  public static final String ORDER_FLAG_ASC="asc";//升序
  public static final String ORDER_FLAG_DESC="desc";//降序
 }
}
/*
 * 序列化对象是将对象以字节流的形式进行保存,然后恢复,
 */

分享到:
评论

相关推荐

    交换排序实现源码

    本文将深入探讨两种交换排序算法——冒泡排序和快速排序的实现原理及源码分析。 **冒泡排序(Bubble Sort)** 冒泡排序是一种简单直观的排序算法,它重复地遍历待排序的列表,一次比较两个元素,如果他们的顺序...

    C#四种排序方法--交换排序 选择排序 冒泡排序 插入排序

    交换排序 选择排序 冒泡排序 插入排序

    排序算法.doc 详细讲解了插入排序、交换排序、选择排序、归并排序等排序算法的原理以及实现代码

    本文主要探讨四种基本的排序算法:插入排序、交换排序、选择排序和归并排序,这些都是内部排序的主要方法。 1. **插入排序**: - 直接插入排序是最基础的排序算法之一,它的工作原理类似于人们手动整理扑克牌。...

    java编程实现交换排序

    java 编程实现交换排序 public class jiaohuanpx{ public static void main(String[] args){ int i,j,t; int a[]=new int[]{8,9,3,2,4,6,7,5,10,1,11,54,78,22}; for(i=0;i;i++) System.out.print(a[i]+" "); ...

    数据结构 交换排序算法(c/c++)

    交换排序是一种常见的排序算法,它通过不断地交换元素来达到排序的目的。本文将深入探讨交换排序算法,特别是C/C++语言中的实现方式。 交换排序的核心思想是通过比较数组中的相邻元素,如果它们的顺序错误,就交换...

    数据结构:交换排序-冒泡排序实验指导

    ### 数据结构:交换排序-冒泡排序实验指导 #### 实验背景与目标 在计算机科学领域,数据结构和算法是核心研究对象,其中排序算法作为基础且重要的算法之一,广泛应用于各类数据处理场景。本实验旨在深入理解并掌握...

    交换排序之冒泡排序.cpp

    交换排序之冒泡排序.cpp

    一个用c++写的交换排序

    本示例聚焦于“交换排序”,一种基于比较的排序算法,具体来说是使用C++实现的。交换排序的基本思想是通过不断交换元素来调整序列,直到整个序列有序。 C++是一种广泛应用的面向对象的编程语言,它提供了丰富的库...

    数据结构中的 内部排序(插入排序 交换排序 选择排序 归并排序 基数排序)

    本文主要介绍了五种内部排序算法:插入排序、交换排序、选择排序、归并排序和基数排序。 1. **插入排序**: 插入排序的基本思想是从未排序的序列中取出一个元素,然后将其插入到已排序序列的正确位置,以保持序列...

    经典排序算法,有选择排序,冒泡排序,交换排序,谢尔排序,插入排序基数排序

    根据给定的文件信息,我们将深入探讨几种经典的排序算法,包括选择排序、冒泡排序、交换排序、希尔排序、插入排序以及基数排序。这些算法在计算机科学领域内有着广泛的应用,各自具有独特的特点和适用场景。 ### 1....

    交换排序Java实现

    冒泡排序是一种简单直观的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的...

    交换排序.cpp

    交换排序.cpp交换排序.cpp

    希尔排序法(希尔插入排序,希尔交换排序)

    ### 希尔排序法(希尔插入排序,希尔交换排序) #### 一、希尔排序法简介 希尔排序法是计算机科学领域中一种重要的排序算法,它由美国计算机科学家Donald Shell于1959年提出,因此得名希尔排序。希尔排序是一种...

    第交换排序PPT学习教案.pptx

    【交换排序】,又称冒泡排序,是一种简单的排序算法,主要通过不断交换相邻的、顺序错误的元素来逐步实现整个序列的排序。在【第交换排序PPT学习教案.pptx】中,详细展示了交换排序的过程。以一个具体的例子为例,如...

    交换排序\冒泡排序.

    交换排序是一个更广泛的术语,它包括了所有通过交换元素来实现排序的算法,而冒泡排序是其中最简单且最直观的一种。虽然冒泡排序的时间复杂度在最坏情况下是O(n²),但其优点在于实现简单,适用于小规模或者部分有序...

    用于数组的交换排序算法

    感觉比冒泡排序好的排序算法,借助此算法来对比冒泡排序算法,可以加深对这两种经典而双简单的排序算法的理解。

    C#中for循环的交换排序案例 c#经典案例.pdf

    本文将详细解析三种基于for循环的交换排序算法,包括冒泡排序、选择排序和改进版的交换排序。这些算法都通过比较和交换元素来达到排序的目的,但它们的具体实现有所不同。 1. **交换排序**: 交换排序的基本思想是...

    数据结构排序插入排序和交换排序PPT学习教案.pptx

    本PPT学习教案主要介绍了两种基础的排序方法:插入排序和交换排序。 首先,排序的基本定义是将数据元素(如数组或列表中的项)从一个任意序列调整为一个按指定关键字(key)有序的序列。例如,将一个无序的数字序列...

    交换排序.pdfddddddd

    交换排序.pdfddddddd

Global site tag (gtag.js) - Google Analytics