`
huobengluantiao8
  • 浏览: 1061387 次
文章分类
社区版块
存档分类
最新评论

排序算法之代码解说

 
阅读更多

----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------

冒泡排序:

class Maopaopaixu
{

public static void bubbleSort(int[] arr)
{
for(int x=0; x<arr.length-1; x++) //arr.length-1:最后一个元素没有相邻的,所以要-1
{
for(int y=0; y<arr.length-x-1; y++) //每次内循环都从0开始比,-x:让每一次比较的元素减少;-1:避免角标越界;
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}

/*

循环代码也可以这样写:

for(int i=0; i<arr.length; i++)
{
for(int j=arr.length--1; j>i; j--)
{
if(arr[i]>arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}

*/

}


public static void main(String[] args)
{
int[] arr = {3,7,9,0,1,12,2,5};
printArray(arr);
bubbleSort(arr);
printArray(arr);
}

//定义功能,用于打印数组中的元素,元素间用逗号隔开
public static void printArray(int[] arr)
{
System.out.print("[");//此输出语句是给数加上数组符号 [ ,配合最后一条输出语句 ] .
for(int x=0; x<arr.length; x++)
{
if(x!=arr.length-1) //此处的if语句是:如果x不等于最后一个元素,那么就打印逗号,否则就不打印
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"]");
}
}
}

选择排序:

public static void selectSort(int[] arr)
{
for(int x=0; x<arr.length-1; x++)
{
for(int y=x+1; y<arr.length;y++)
{
if(arr[x]>arr[y])
{
int temp = arr[x];

arr[x] = arr[y];

arr[y] = temp;
}
}
}
}

----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------

分享到:
评论

相关推荐

    常用排序算法C语言示例代码解说PDF

    个人原创总结的常用排序算法C语言示例代码解说PDF,可以动态输出排序过程,以便理解排序算法的主旨思想。包含有直接插入排序,折半插入排序,2路直接插入排序,起泡排序,简单选择排序,快速排序,堆排序,(希尔排序,归并...

    详细解说 STL 排序

    STL提供了多种排序算法,以满足不同场景的需求。这些算法都是基于高效的排序策略实现的,例如快速排序、归并排序等。以下是几种主要的排序函数: - `sort`: 对给定的元素区间进行排序,但不保证稳定性。 - `stable_...

    数据结构关于图的相关C代码与解说

    本资料包聚焦于“数据结构关于图的相关C代码与解说”,我们将深入探讨图的基本概念、常用算法,并通过C语言实现来理解其工作原理。 1. **图的基本概念**: - 图由顶点(Vertex)和边(Edge)组成,表示顶点之间的...

    详细解说 STL 排序(Sort)

    本文将详细解说STL中的排序算法——Sort。 1.1 STL的Sort算法介绍 STL提供了多种排序算法,适用于不同的场景。其中,`sort`是最基础的排序算法,它可以对给定的元素区间进行排序,要求输入的迭代器必须是随机访问...

    通过java实现的冒泡排序算法示例.rar

    压缩包文件代码是一个用Java实现的冒泡排序算法的示例。 在这个示例中: 1、bubbleSort 方法实现了冒泡排序算法。它接受一个整数数组作为参数,并对其进行原地排序。 2、外层循环控制遍历的次数,内层循环进行相邻...

    reportViewe报表 动态 源代码绝对可用附详细解说

    源代码中会涉及UI设计相关的组件和布局算法。 4. **报表展示**:动态展示的核心在于如何根据用户输入或系统事件实时更新报表内容。源代码应有事件监听、数据刷新、图表重绘等功能。可能使用了Web技术如JavaScript、...

    C++经典的解说

    容器如vector、list、set、map等提供了不同的数据组织方式,算法如排序、查找等为常见操作提供了便利。 4. **异常处理**:C++提供了异常处理机制,允许程序在运行时遇到错误时抛出异常,然后由适当的捕获块进行处理...

    C语言函数详细解说与源代码

    在解决某些问题时,如树遍历或排序算法,递归可以简化代码。 6. **标准库函数**:C语言标准库提供了一系列预先定义的函数,如`printf`(打印输出)、`scanf`(读取输入)等,它们可以帮助程序员快速实现常见功能。 ...

    通过javascript实现冒泡排序.rar

    冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换的元素为止,这意味着该数列...

    详细解说STL 详细解说STL 详细解说STL 详细解说STL 详细解说STL

    在实际编程中,结合使用STL的容器、迭代器、算法和功能对象,开发者可以编写出高效、简洁的代码,大大提高了程序的可维护性和可读性。STL的泛型编程理念已经成为现代C++编程的一个重要组成部分。

    详细解说STLstring.pdf

    代码中使用 string 来代替 char 数组,使用 sort 算法来排序,使用 unique 函数来去重。 作者还强调了 string 的多种功能,包括存储功能、查找功能、子串功能和比较功能。这些功能使得 string 成为文本处理的不二之...

    stl解说,stl学习参考

    同时,掌握如何使用迭代器遍历容器并调用算法可以提高代码的效率和可读性。 在提供的文件列表中,"sTL.doc"可能是关于STL的详细文档,包含了STL的介绍、示例代码和使用技巧。"www.pudn.com.txt"可能是一个链接或者...

    通过汇编语言脚本实现了一个基本的数字排序功能

    3、使用了冒泡排序算法对数组进行排序。 4、排序完成后,逐个打印排序后的数字,并在每个数字后打印一个换行符(除了最后一个数字)。 5、由于汇编语言的低级性质,这个脚本没有错误处理(例如,对于非数字字符的...

    stl资料合集

    "详细解说 STL 排序(Sort) -- STLSortAlgorithms.htm"深入探讨了STL中的排序算法,包括sort函数的工作原理、时间复杂度以及如何自定义比较函数,这对于理解和优化排序性能至关重要。 "STL实践指南 -- ...

    NOIP复习资料(C++).pdf

    最后,复习资料提出了几个面临的问题,如缺少对初赛知识的整理、代码解说不充分、语文表述能力有限,以及没有Pascal语言版本的参考资料。作者鼓励有能力的读者进行修改、复制和分发,同时也欢迎将资料翻译成Pascal...

    数据结构(c 清华版)课件

    9. **排序算法**:如冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序等,它们用于对数据进行有序排列。 10. **查找算法**:如顺序查找、二分查找、哈希查找等,用于在数据结构中查找特定元素。 这个...

    VC游戏编程范例(拼图)

    而解说部分可能涵盖了代码结构分析、关键算法讲解以及编程技巧分享,帮助初学者更好地理解和应用这些知识。 【标签】"VC++ 例子 游戏 编程"明确了这个项目的核心技术栈和应用领域。VC++是一种广泛用于Windows平台的...

    英雄联盟小程序

    rank排行榜展示了玩家的排名信息,这需要实时数据处理和排序算法,例如使用Redis进行数据缓存,提高查询速度。大区数据、英雄资料和周免英雄等信息的展示,则需要数据库定期同步更新,可能运用到Web Scraping技术从...

    C++STL中文版.pdf

    这本教科书详细地解说了STL的各个方面,并且通过将内容分为16章,深入阐释了STL的13个核心头文件,包括了背景知识、功能描述、头文件代码、测试程序和习题,有助于学习者深入理解和掌握STL的应用。 书中所涉及的13...

Global site tag (gtag.js) - Google Analytics