`
- 浏览:
25921 次
- 性别:
- 来自:
湖南
-
第一种常用的方法
/**
*
* @author Administrator
*
*/
public class P排序1 {
public static void main(String args[]){
int []a={1,15,24,26,58,45,14,15,14,74};
int j,temp;
for(int i=0;i<a.length;i++){
int m = i;
for(j=i+1;j<a.length;j++){
if(a[j]<a[m]){
m=j;
}
}
if(i!=m){
temp=a[i];
a[i]=a[m];
a[m]=temp;
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
第二种
/**
*
* @author Administrator
*
*/
public class P排序2 {
public static void main(String args[]){
int[] a = {15,24,25,68,12,10,45,18,27};
int temp;
for(int k=a.length/2;k>0;k/=2){
for(int i=k;i<a.length;i++){
for(int j=i;j>=k;j-=k){
if(a[j-k]>a[j]){
temp=a[j-k];
a[j-k]=a[j];
a[j]=temp;
}
}
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
第三种
public class P排序3 {
static void sort(int[]a,int dk){
int i,j,temp;
for(i=dk;i<a.length;i++){
if(a[i]<a[i-dk]){
temp=a[i];
a[i]=a[i-dk];
for(j=i;j>0&&temp<a[j-1];j=j-dk){
a[j]=a[j-1];
}
a[j]=temp;
}
}
}
public static void main(String args[]){
int[]a={15,24,25,68,12,10,45,18,27};
int w=1;
while(w<=a.length/5){
sort(a,w);
w=w*5+1;
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
这个类需要实现 IComparer 接口,并且需要三个构造函数参数:排序列、排序顺序和是否是数字排序。 在比较两个 ListViewItem 时,我们需要根据排序列和排序顺序来确定哪个项应该在前面。如果是数字排序,我们需要将 ...
为了优化和比较不同排序算法的效率,程序可能还包含了性能分析功能,如计时器来测量每种排序方法所需的时间,或者使用特定的性能指标如比较次数和交换次数。 总结来说,这个项目旨在培养编程者对基本数据结构、文件...
一种常见的方式是使用第三方库,如`pinyin4j`,它可以帮助我们将中文字符转换为拼音。 以下是使用`pinyin4j`库实现的示例代码: ```java import net.sourceforge.pinyin4j.PinyinHelper; import ...
本主题聚焦于C语言实现的排序算法,其中包括了十种不同的排序方法,每一种都有其独特的应用背景和效率特点。下面我们将详细探讨这些排序算法的原理、步骤以及它们在C语言中的实现。 1. **冒泡排序**:这是一种简单...
在Java中,对数字字符串排序通常有两种主要的方法:直接比较字符串和转换为整数后再比较。第一种方法直接使用`compareTo()`或`compareToIgnoreCase()`方法,但这可能会在处理大数字时效率较低。第二种方法是将字符串...
根据题目描述,我们需要设计一个能够处理数字、字母、中文字符混合的排序方法。 ##### 1. 排序方法的核心思想 - 首先将输入的字符串转换成字符数组。 - 然后逐个比较两个字符串的每一个字符。 - 使用`determineType...
本程序涵盖了数据结构中常见的几种排序方法,下面将对这些排序算法进行详细介绍。 1. 冒泡排序(Bubble Sort) 冒泡排序是最简单的排序算法之一。它通过不断比较相邻元素并交换位置来实现排序,重复这一过程,直到...
在实际编程中,当处理大量数据时,VB提供了更为高效的数组排序方法,如使用Array.Sort函数。但需要注意的是,Array.Sort只适用于一维数组,并且是针对.NET Framework的,不是原始的VB6。在VB6或早期版本中,你需要...
这篇文章将详细介绍JavaScript中几种常见的排序方法,帮助你更好地理解和运用这些技术。 首先,最基本的排序方法是`Array.prototype.sort()`。这个内置函数可以接受一个比较函数作为参数,用于自定义排序规则。例如...
- 这个问题的解决方案的时间复杂度是O(3^n),因为有3个位置,每个位置有4种选择,所以总共有4的3次方种组合。空间复杂度是O(1),因为只需要常数级别的变量空间。 8. **软件工程基础**: - 这个问题的解决方案体现...
### 3个数从小到大排序的C语言实现 #### 背景介绍 在计算机科学与编程领域中,排序算法是一种非常基础且重要的技术。它不仅被广泛应用于各种数据结构处理,也是算法学习和面试考察的重点之一。本文将通过一个具体的...
学习和理解这三种排序算法,不仅可以提高编程能力,也有助于在面对不同问题时选择合适的排序方法,提升算法效率。在实际项目中,可以根据数据特点灵活运用这些算法,优化程序性能。通过阅读并理解这些Java源代码,你...
今天,我们将介绍三种常见的排序算法:计数排序、基数排序和桶排序。 计数排序 计数排序是一种非比较排序算法,通过统计每个数字出现的次数来实现排序。其主要过程可以分为以下几个步骤: 1. 找到待排序数组中的...
基数排序是按照数字的位数从低位到高位进行排序,适合处理大量数据且位数固定的整数排序。它可以做到线性时间复杂度,但需要额外的空间。 8. **简单选择排序(Simple Selection Sort)**: 简单选择排序的基本...
程序的交互设计可以让用户选择想要使用的排序方法,然后输出排序后的结果。 在实现这些排序算法时,需要注意以下几点: 1. **内存管理**:确保正确分配和释放内存,避免内存泄漏。 2. **边界条件**:处理空数组或...
为了确保排序结果符合预期并能够满足实际业务需求,我们需要掌握几种有效的汉字排序方法。本文将详细介绍如何在Oracle数据库中实现汉字排序,并通过具体的示例来帮助理解。 #### 一、背景介绍 在日常工作中,我们...
**内部排序与外部排序**:根据待排序数据是否完全存放在内存中,排序方法可分为内部排序和外部排序。内部排序适用于数据量较小的情况,所有数据可以在内存中进行操作。外部排序则用于处理大规模数据集,数据无法一次...
第九章主要探讨了内部排序的各种方法,包括插入排序、交换排序、选择排序、归并排序以及基数排序。 1. **概述** - **排序**:是指将一组无序的数据按照特定的规则进行有序排列的过程。 - **目的**:主要为了提高...
- **原理**: 希尔排序是对直接插入排序的一种改进方法。它改变了直接插入排序中元素移动的幅度,通过分组进行插入排序,逐步缩小增量,最终达到完全有序的状态。 - **时间复杂度**: 平均情况介于O(n)到O(n^2)之间...
- O(n log n):先进的排序方法,如快速排序、归并排序和堆排序。 - O(n):基数排序,不涉及元素间的比较。 ### 具体排序算法 1. **直接插入排序**: - 在每一轮中,将当前元素插入到已排序部分的正确位置,通过...