整型数组,最大值与数组第一个值交换,最小值与最后一个值交换
来源:互联网 发布:耐克淘宝代购是真货么 编辑:程序博客网 时间:2024/06/07 05:55
RT:整型数组,最大值与数组第一个值交换,最小值与最后一个值交换
前两天在网上看到一道题比较有意思,有个容易被疏忽的地方,Ok,要求如题,代码如下:
package org.wxp.sort;import junit.framework.TestCase;/** * 一个整型数组,将其中最大的值与数组的第一个值交换,最小的值与数组最后一个值交换 根据循环找出最大值和最小值以及它们在数组中的下标;根据下表来交换数据; * 重点:如果先交换最大值和第一个值,那么如果数组中第一个值为最小值时,后边交换最小值的时候,最小值的下标此时已经变了,因为刚才被最大值给交换了, * 此时要把最大值的下标付给最小值的下标,才能正常交换。反之亦然; * * @author Champion.Wong * */public class Sort_01 extends TestCase {private int[] arr = { 1, 3, 5, 6, 4, 9, 7 }; // 定义一个数组public void test() {int max = 0, min = 0; // 最大值、最小值int i1 = 0, i2 = 0; // 最大值在数组中的下表,最小值在数组中的下标int temp = 0; // 用于数据交换max = min = arr[0]; // 默认最大值和最小值为数组的第一个值for (int i = 1; i < arr.length; i++) {if (max < arr[i]) { // 获取数组中最大值和最大值下标max = arr[i];i1 = i;}if (min > arr[i]) {min = arr[i];i2 = i;}}// 将最大值与数组的第一个值交换temp = arr[0];arr[0] = arr[i1];arr[i1] = temp;/* * 如果数组的第一个值就是最小值,那么刚才在交换的过程中,已经被移动了位置, 那么目前最小值的位置就是刚才最大值的位置,即第一次移动的值的位置 */if (min == arr[i1]) {i2 = i1;}// 将最小值与数组的最后一个值交换temp = arr[arr.length - 1];arr[arr.length - 1] = arr[i2];arr[i2] = temp;System.out.println(max + "===" + min);System.out.println(i1 + "===" + i2);for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "");}}}
最后控制台的输出结果如下:
不足之处,敬请指正!
转载请注明出处:http://blog.csdn.net/it_wangxiangpan/article/details/8700935
- 整型数组,最大值与数组第一个值交换,最小值与最后一个值交换
- 【读书笔记】输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 用户输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。。
- java 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个整型数组(10个) 把最大的与第一个交换输出
- 输入一个数组,最大的元素与第一个元素交换,最小的元素与最后一个元素交换
- 【c语言】最小值与第一个值互换位置,最大值与最后一个互换位置
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 练习5: 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- Java开发练习1,输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 作业5:输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- Oracle Enterprise Manager fails to start! OC4J Configuration&
- AudioEffect中如何应用Equalizer均衡器控制改变音量
- OGRE 内存管理
- oracle数据库中Date类型数据利用hibernate取值的位数问题
- SQL学习笔记2
- 整型数组,最大值与数组第一个值交换,最小值与最后一个值交换
- 表格增行,删行处理(jquery)
- OpenRisc-11-编写ipcore 的linux driver,然后run helloworld
- iOS 各种控件默认高度(图示)
- VMWare Tools 和 Shared folder(共享文件夹)
- java静态方法与非静态方法 覆盖的区别
- 【数据库】学生档案管理系统
- OGRE资源--Font
- Qt下的QString与数字的相互转化