数组概述
数组
数组可以存放多个同一类型的数据。
数组的用法:
00.程序员用法
000.数组的定义:
数组类型 数组名[]=new 数据类型[大小]
001.数组的引用:
数组名[下标]
01.没事找事用法
000.先声明数组
001.创建数组
002.数组的引用
02.古板用法
000.初始化数组
语法:数据类型 数组名[]={元素值,元素值……}
001.数组的引用
数组-----总结
王文京 用友创始人
00.数组可存放同一类型数据
01.简单数据类型数组,可直接赋值
02.对象数组在定义后,赋值时需要在再次为每个对象分配空间(new对象)
03.数组的大小必须实现指定
04.数组名可以理解为指向数组首地址的引用
05.数组的下标是从0开始编号的
排序
排序的介绍
排序时将一群数据以指定的顺序进行排列的过程。
排序的分类:
00.内部排序
指将需要处理的所有数据都加载到内部存储器中进行排序。包括(交换式排序法,选择式排序法和插入式排序法);
01.外部排序法:
数据量过大,无法全部加载到内存中,需要借助外部存储进行排序,包括(合并排序法和直接合并排序法)
一维数组
排序(sorting)是数组处理中,一种很重要的运算,同时也是很常用的运算。一般数据处理工作25%的时间都在进行排序,简单地说,排序就是把一组记录(元素)按照某个域的值的递增(即由小到大)或递减(即由大到小)的次序重新排序的过程。
01.交换式排序法
交换式排序属于内部排序法,是运用数据值比较后依判断规则对数据位置进行交换,已达到排序的目的。
交换式排序法又可分两种
000.冒泡排序法(Bubble sort)
001。快速排序法(Quick sort)
交换式排序法------冒泡排序法
冒泡排序的基本思想是:通过对待排序从后向前(从下标较大的元素开始),依次比较相邻元素的排序码,若发现逆序则交换。使排序码较小的元素,逐渐从后部移向前部(比较下标较小的单元)就像水底下的气泡一样逐渐上冒。
因为排序的过程中,各元素不断接近自己的位置如果一趟比较下来没有进行过交换,就说明序列有序,新词要在排序的过程中设置一个标志flag判断元素是否进行过交换,从而减少不必要的比较。
01选择排序法
内部排序----选择排序----选择排序方法
选择式排序,也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,经过和其他的元素重整,再依原则交换位置后达到排序的目的。
选择排序有分为两种
000.选择排序法(selection sort)
001.堆排序法(heap sort)
插入式排序法----插入排序法
插入式排序属于内部排序法,是对欲排序的元素以插入的方式找寻该元素的适当位置,已达到排序的目的。
插入式排序法又可分为3种
000.插入排序法(Insertion sort)
001.谢耳排序法(shell sort)
002.二叉树排序法(Binary-tree sort)
插入排序
插入排序(Insertion sorting)的基本思想是:把几个待排序的元素,看成一个有序表和一个无序表。开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出一个元素,把它的排序码依次与有序列表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序列表。
交换式排序法----快速排序法
快速排序(Quicksort)是对冒泡排序的一种改进。由C.A.R.Hoare在1962年提出,它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部份的所有数据都比 另外一部分的所有数据都要小,然后在按此方法对这两部分分数数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序的序列。
查找
00.顺序查找
01.二分查找
多维数组-----二维数组
语法:类型 数组名[][]=new 类型[大小][大小]