`
wangjie2013
  • 浏览: 173465 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java笔记(04,对数组进行选择排序和冒泡排序)

    博客分类:
  • JAVA
阅读更多

 

       Last modified:2013-04-09 23:26:34

       ***********************************************

 

数组:同一种类型数据的集合.其实数组就是一个容器;

格式元素类型[] 数组名 = new 元素类型[元素格数或数组长度]{...};

new:在内存中产生一个容器实体;

新建一个数组,但是不知道里面装什么的时候,要指定数组的大小!

数组是一种单独的数据类型;引用数据类型之一(三种);

:用完后自动释放;

:new可以在堆中建立一个空间存放对象;数组也是一种对象;

堆的特性:地址,垃圾处理机制,有特定的初始值;

编译成功说明没有语法错误,但运行不一定成功;

排序:常用的是冒泡排序和选择排序;

 

 

   1.选择排序:
  public static void selectSort(int[] arr) {
		for (int i = 0; i < arr.length-1; i++) {
			for(int j = i+1;j<arr.length;j++){
				exchange(arr, i, j);
			 }	
		 }
   }

 

 

 

2.冒泡排序:初始化从零开始,判断条件为y<arr.length-x-1;-x为了减少遍历次数;-1为了防止越界;

 

public static void bubbleSort(int[] arr) {
		for (int i = 0; i < arr.length-1; i++) {
			for (int j = 0; j < arr.length-1-i; j++) {
                                //-i为了减少遍历次数;-1为了防止越界;
				exchange(arr, j, j+1);	
			}
		}
	}

 

        exchange方法用于交换两个数的位置:

  public static void exchange(int[] arr,int i,int j)
  {
          arr[j]=arr[j]^arr[i];
          arr[i]=arr[j]^arr[i];
          arr[j]=arr[j]^arr[i];
  }

 

 

 

 

分享到:
评论

相关推荐

    冒泡排序和选择排序的总结与差别

    本笔记包括了冒泡排序与选择排序的一些基本过程与相同点与不同点的比较,例如,冒泡排序与选择排序的算法讲述,对学c的新手十分友好,本人愚笨,如有看不懂,请见谅。

    学习排序算法之冒泡排序及其优化笔记.pdf

    通过对冒泡排序算法的学习笔记整理,我们可以了解到冒泡排序的原理,以及它的优缺点和适用场景,从而在实际的编程实践中更好地应用该算法。同时,通过不断的练习和总结,我们还能学习到如何优化排序算法,以提高程序...

    JAVA新特性对数组的支持笔记

    JAVA新特性对数组的支持笔记 很值得软件工程学子一学

    冒泡排序和快速排序实验报告.pdf

    实验结果显示,冒泡排序和快速排序都可以正确地对数组进行排序,但是快速排序的性能远远高于冒泡排序。快速排序的计算时间远远低于冒泡排序,且快速排序的比较次数和移动次数也远远低于冒泡排序。 结论 通过本实验...

    暑期培训学习笔记之 java\日期排序

    本篇学习笔记将深入探讨如何在Java中对日期进行排序,主要包括以下几个方面: 1. **日期对象的创建** 在Java中,我们可以使用`java.util.Date`类或者`java.time`包中的`LocalDate`, `LocalDateTime`等类来表示日期...

    冒泡排序、归并排序、快速排序的笔记包含代码

    帮助大家更好的了解到常用的三大排序,冒泡排序、归并排序及快速排序。冒泡排序:冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较每对相邻的项,并在必要时交换它们的位置,直到没有任何一对数字需要...

    java笔记java笔记

    java笔记java笔记java笔记java笔记java笔记java笔记java笔记

    java笔记 java笔记

    Java提供了四种访问修饰符:`public`、`private`、`protected`和`default`,用于控制类、方法和变量的可见性。 ##### 6.7 构造方法 构造方法是一种特殊的方法,用于初始化对象。 ##### 6.8 封装 封装是指隐藏...

    《Java数据结构和算法》学习笔记(2)——4种简单排序算法

    总之,插入排序、冒泡排序和选择排序是计算机科学基础课程中的经典算法,它们的原理和实现是每个程序员应该掌握的基础知识。通过理解和实践这些算法,开发者可以更好地理解和应对更复杂的编程挑战。

    Java基础复习笔记11基本排序算法

    本文档主要介绍了Java中的几种基本排序算法,包括冒泡排序、快速排序、选择排序、堆排序等,并通过具体的代码实例对每种排序算法进行了详细的解释。文档旨在帮助初学者理解不同排序算法的工作原理及其在实际开发中的...

    Java学习笔记学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...

    java学习笔记(排序,数组)

    数组是存储固定数量同类型元素的数据结构,而排序算法则是对数组中的元素进行排列的方法。让我们详细了解一下这两个主题。 一、数组 1. **定义**:数组是一种线性数据结构,它在内存中连续存储同一类型的元素。...

    宋红康java笔记.rar

    14. **单元测试**:JUnit是Java中的单元测试框架,学习如何编写测试用例,进行断言和异常测试,确保代码质量。 以上是【宋红康java笔记】中可能涵盖的部分重要知识点,每个主题都值得深入研究和实践。通过学习这些...

    Java笔记桌面程序

    通过这个Java笔记桌面程序,我们可以看到开发者如何运用自己的技术知识解决实际问题,这不仅是提升个人技能的一种方式,也是在IT行业中展示创造力和解决问题能力的良好实践。对于想要学习Java桌面应用开发的初学者来...

    Java笔记总结.pdf

    冒泡排序是数组排序的常见方法,它可以将数组中的元素进行排序。 二维数组是Java语言中的高级特性,它可以将多个数组组合成一个数组。二维数组的定义方式有多种,包括静态初始化和动态初始化。面向对象的特点是Java...

    java读书笔记笔记笔记笔记笔记笔记

    【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...

    大佬的java笔记

    作为笔记的作者,被称为“专业第一”,意味着笔记内容会覆盖Java的基础语法、面向对象的深入理解和高级特性。 2. 面向对象编程:在Java中,一切皆为对象,这是Java最重要的编程范式之一。面向对象编程的基本概念...

    数据结构学习笔记排序算法:基数排序

    数据结构学习笔记排序算法:基数排序数据结构学习笔记排序算法:基数排序数据结构学习笔记排序算法:基数排序数据结构学习笔记排序算法:基数排序数据结构学习笔记排序算法:基数排序数据结构学习笔记排序算法:基数...

    JAVA数据结构笔记

    冒泡排序和选择排序的时间复杂度都是O(N^2),其中冒泡排序是稳定的,而选择排序则不是。插入排序在某些情况下具有较好的性能,其平均时间复杂度为O(N^2),但最好情况下的时间复杂度为O(N)。 第四章涉及栈和队列这两...

    java全套笔记 来自狂神说java笔录.zip

    【Java编程语言基础】 Java是一种广泛使用的面向对象的编程...这些笔记内容全面覆盖了Java的基础和进阶知识,适合从零开始学习Java的人群,通过系统学习,可以建立起扎实的Java编程基础,为实战项目开发打下坚实基础。

Global site tag (gtag.js) - Google Analytics