Java基础:Day06笔记内容 (选择排序)
2016-02-25 10:39
543 查看
1.选择排序
每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完.
代码练习:
class Demo1_SelectSort {
public static void main(String[] args) {
int [] arr = {3,8,9,22,11,90};
selectSort(arr); //升序
System.out.println(getIndex2(arr,55));
}
//选择排序 ,升序
public static void selectSort(int[] arr) {
//数组通常和循环配合使用
for (int i = 0; i < arr.length - 1 ;i++ ) { ///我们需要找几次最值??
//-1是因为5个数只需找四次最值.
for (int j = i + 1 ; j < arr.length ; j++) {
//从0开始,当前位置和其后每个数依次比较,将
if (arr[j] < arr[i]) {
//交换,将较小的数放i 的位置
swap(arr,j,i);
} //较小的数放在当前位置.
}
}
}
2.冒泡排序
遍历要排序的数列,依次比较两个元素,把顺序错误的交换过来, 重复进行直到没有需要交换的.
代码练习:
3.二分查找
优点是比较次数少, 缺点是要求待查表为有序表,且插入删除困难。二分查找方法适用于不经常变动而查找频繁的有序列表。
假设表中元素是按升序排列,将表中间位置的元素与查找的值比较,如果两者相等,则查找成功;否则从中间将表分成前、后两部分,如果中间位置记录的元素大于查找的元素,则查前半部分,否则查后半部分。重复直到找到或表已查完.
代码如下:
二维数组
二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。
二维数组的格式:
代码练习:
部分笔记内容,整个笔记一共27天,打包下载:
网盘地址——链接:http://pan.baidu.com/s/1c1iem6c 密码:8lj8
每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完.
代码练习:
class Demo1_SelectSort {
public static void main(String[] args) {
int [] arr = {3,8,9,22,11,90};
selectSort(arr); //升序
System.out.println(getIndex2(arr,55));
}
//选择排序 ,升序
public static void selectSort(int[] arr) {
//数组通常和循环配合使用
for (int i = 0; i < arr.length - 1 ;i++ ) { ///我们需要找几次最值??
//-1是因为5个数只需找四次最值.
for (int j = i + 1 ; j < arr.length ; j++) {
//从0开始,当前位置和其后每个数依次比较,将
if (arr[j] < arr[i]) {
//交换,将较小的数放i 的位置
swap(arr,j,i);
} //较小的数放在当前位置.
}
}
}
2.冒泡排序
遍历要排序的数列,依次比较两个元素,把顺序错误的交换过来, 重复进行直到没有需要交换的.
代码练习:
3.二分查找
优点是比较次数少, 缺点是要求待查表为有序表,且插入删除困难。二分查找方法适用于不经常变动而查找频繁的有序列表。
假设表中元素是按升序排列,将表中间位置的元素与查找的值比较,如果两者相等,则查找成功;否则从中间将表分成前、后两部分,如果中间位置记录的元素大于查找的元素,则查前半部分,否则查后半部分。重复直到找到或表已查完.
代码如下:
二维数组
二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。
二维数组的格式:
代码练习:
部分笔记内容,整个笔记一共27天,打包下载:
网盘地址——链接:http://pan.baidu.com/s/1c1iem6c 密码:8lj8
相关文章推荐
- Java分割字符串
- Java基础:Day05笔记内容 (方法、数组)
- 在eclipse中改变编码格式。
- Java基础:Day04笔记内容 (选择结构)
- java代码获取客户端的真实ip
- Java基础:Day03笔记内容 (运算符、判断结构if)
- Java Concurrency in Practice 思维导图
- JAVA实操:[1]数组习题
- Struts2 自定义下拉框Tag标签
- Java基础:Day02笔记内容 (常量、注释、变量)
- java中常量池的理解
- Java基础:Day01笔记内容 (概述、JDK的下载及安装)
- 使用maven开发spring项目报ClassNotFoundException异常
- 关于如何在eclipse中部署服务遇到的一些问题和解决。
- JAVA JDK 1.6 API中文版.CHM打开chm提示,“ 已取消到该网页的导航”
- Think in Java反刍笔记(3)---对象是什么(3)
- java的HashMap遍历输出
- java多线程之Semaphore信号量详解
- java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式
- java类加载机制