/**
* 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)** 冒泡排序是一种简单直观的排序算法,它重复地遍历待排序的列表,一次比较两个元素,如果他们的顺序...
交换排序 选择排序 冒泡排序 插入排序
本文主要探讨四种基本的排序算法:插入排序、交换排序、选择排序和归并排序,这些都是内部排序的主要方法。 1. **插入排序**: - 直接插入排序是最基础的排序算法之一,它的工作原理类似于人们手动整理扑克牌。...
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++语言中的实现方式。 交换排序的核心思想是通过比较数组中的相邻元素,如果它们的顺序错误,就交换...
### 数据结构:交换排序-冒泡排序实验指导 #### 实验背景与目标 在计算机科学领域,数据结构和算法是核心研究对象,其中排序算法作为基础且重要的算法之一,广泛应用于各类数据处理场景。本实验旨在深入理解并掌握...
交换排序之冒泡排序.cpp
本示例聚焦于“交换排序”,一种基于比较的排序算法,具体来说是使用C++实现的。交换排序的基本思想是通过不断交换元素来调整序列,直到整个序列有序。 C++是一种广泛应用的面向对象的编程语言,它提供了丰富的库...
本文主要介绍了五种内部排序算法:插入排序、交换排序、选择排序、归并排序和基数排序。 1. **插入排序**: 插入排序的基本思想是从未排序的序列中取出一个元素,然后将其插入到已排序序列的正确位置,以保持序列...
根据给定的文件信息,我们将深入探讨几种经典的排序算法,包括选择排序、冒泡排序、交换排序、希尔排序、插入排序以及基数排序。这些算法在计算机科学领域内有着广泛的应用,各自具有独特的特点和适用场景。 ### 1....
冒泡排序是一种简单直观的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的...
交换排序.cpp交换排序.cpp
### 希尔排序法(希尔插入排序,希尔交换排序) #### 一、希尔排序法简介 希尔排序法是计算机科学领域中一种重要的排序算法,它由美国计算机科学家Donald Shell于1959年提出,因此得名希尔排序。希尔排序是一种...
【交换排序】,又称冒泡排序,是一种简单的排序算法,主要通过不断交换相邻的、顺序错误的元素来逐步实现整个序列的排序。在【第交换排序PPT学习教案.pptx】中,详细展示了交换排序的过程。以一个具体的例子为例,如...
交换排序是一个更广泛的术语,它包括了所有通过交换元素来实现排序的算法,而冒泡排序是其中最简单且最直观的一种。虽然冒泡排序的时间复杂度在最坏情况下是O(n²),但其优点在于实现简单,适用于小规模或者部分有序...
感觉比冒泡排序好的排序算法,借助此算法来对比冒泡排序算法,可以加深对这两种经典而双简单的排序算法的理解。
本文将详细解析三种基于for循环的交换排序算法,包括冒泡排序、选择排序和改进版的交换排序。这些算法都通过比较和交换元素来达到排序的目的,但它们的具体实现有所不同。 1. **交换排序**: 交换排序的基本思想是...
本PPT学习教案主要介绍了两种基础的排序方法:插入排序和交换排序。 首先,排序的基本定义是将数据元素(如数组或列表中的项)从一个任意序列调整为一个按指定关键字(key)有序的序列。例如,将一个无序的数字序列...
交换排序.pdfddddddd