数组应用之最大值查询、排序算法、折半查找法、数组元素反转
2016-09-25 11:42
260 查看
一、最大值查询:定义一个函数接收一个int类型的数组对象,找出数组对象中的最大元素返回给调用者。
1、思路:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/19b4de3a9dd1feeddf5bae99a47acf22)
2、代码实现:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/4b3086c603d564543c4517a044ab745a)
二、排序算法:
1、选择排序(直接排序):
a)定义:使用一个元素与其他的元素逐个比较一次,符合条件交换位置。
b)需求: 定义一个函数接收一个int类型的数组对象, 把数组中的最大值放在数组中的第一位。
代码:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/41c8cbe1d8fcf0b39ec0b4d3726fb7a8)
分析:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/ce52aa8931c234b8d57792b350e1de47)
2、冒泡排序:
a)定义:冒泡排序的思想就是使用相邻的两个 元素挨个比较一次,符合条件交换位置。
b)需求: 定义一个函数接收一个int类型的数组对象,把数组中的最大值放在数组中的最后一位。
代码:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/b2bc5f4ea691bd5db79915e0eac8c3b7)
分析:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/a21b1b183f17b0d2ef69626b91f36b2b)
三、折半查找法(二分法)
1、使用前提:必需是有序的数组。
2、需求:定义一个函数接收一个数组对象和一个要查找的目标元素,函数要返回该目标元素在数组中的索引值,如果目标元素不存在数组中,那么返回-1表示。
代码一(普通的查找方法):
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/d37f69089627a18c1ab9327d536be1b1)
代码二(折半查找法):
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/f41c4cb64cb9beb9dae2d40b6268da60)
分析:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/cddbee1c9d91309aeab8cb60eef8390a)
四、数组元素反转:
1、需求: 定义一个函数接收一个char类型的数组对象,然后翻转数组中的元素。
数组元素:char[] arr = {‘a’,’b’,’c’,’d’,’e’};
代码:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201609/e5a5a9ca8253a7bc820d6bc621b0fa65)
分析:
1、思路:
2、代码实现:
二、排序算法:
1、选择排序(直接排序):
a)定义:使用一个元素与其他的元素逐个比较一次,符合条件交换位置。
b)需求: 定义一个函数接收一个int类型的数组对象, 把数组中的最大值放在数组中的第一位。
代码:
分析:
2、冒泡排序:
a)定义:冒泡排序的思想就是使用相邻的两个 元素挨个比较一次,符合条件交换位置。
b)需求: 定义一个函数接收一个int类型的数组对象,把数组中的最大值放在数组中的最后一位。
代码:
分析:
三、折半查找法(二分法)
1、使用前提:必需是有序的数组。
2、需求:定义一个函数接收一个数组对象和一个要查找的目标元素,函数要返回该目标元素在数组中的索引值,如果目标元素不存在数组中,那么返回-1表示。
代码一(普通的查找方法):
代码二(折半查找法):
分析:
四、数组元素反转:
1、需求: 定义一个函数接收一个char类型的数组对象,然后翻转数组中的元素。
数组元素:char[] arr = {‘a’,’b’,’c’,’d’,’e’};
代码:
分析:
相关文章推荐
- 数组的遍历,获取最大值,数组的反转,数组中元素的查找、冒泡排序、选择排序、折半查找法
- Javascript 一个数组中求最大数,将数组元素反转,用分割线将数组元素分割(注意arr.length字母的大小写,这里全是小写)
- 数组与集合的应用之数组排序与查询(反转数组中元素的顺序)
- 数组的遍历,获取最大值,数组的反转,数组中元素的查找、冒泡排序、选择排序、折半查找法
- 范例:继承的应用:数组排序,反转
- 一维数组的应用-数组元素的倒序排列
- 从键盘输入十个整数存入一维数组中,求出其中的最大数并输出(要求用指针访问数组元素)?
- 算法训练 区间k大数查询(数组复制、排序算法、递归查找)
- C#--第2周实验--任务8--编写一个控制台应用--输入10个数存入数组,求最大值、最小值和平均值
- [POJ 3264]Balanced Lineup[树状数组查询区间最大最小值]
- 折半查询与反转数组元素
- 黑马程序员—C学习笔记—数组的求最大值和反转
- 给定数组,查找最小的k个元素或最大的k个元素 快速排序算法灵活应用
- SQL应用--查询最大版本值
- KMP算法 —— next 数组的应用 --- 前缀中最小循环节,最大重复次数
- KMP算法 —— next 数组的应用 --- 前缀中最小循环节,最大重复次数
- 数组中的最大值,最小值,数组元素之和并逆序输出数组的元素
- // 应用递归的方法 求一个数组的最大值
- 数组中的最大值,最小值,数组元素之和并逆序输出数组的元素
- 基本语法题,公倍数的计算,最大最小平均值,数组的应用,闰年的判断,完数的计算,水仙花数,随机数练习