Java数组操作

package com.org.lxh;import java.util.Arrays;/*** 讲解Java数组* @author hemmingway <hemmingway@163.com>**/
public class ArrayDemo {/*** @param args*/@SuppressWarnings("unused")		//元注释,忽略没有使用的变量public static void main(String[] args) {// TODO Auto-generated method stub//1.数组初始化//一维数组int arr1[] = new int[]{33, 4, 56, 45, 3, 96, 13, 5, 77, 1}; 		//后面用于排序测试int arr2[] = {1, 2, 4, 5, 6, 7, 10, 19, 20, 23, 27, 33, 41, 55};int arr3[] = new int[4];arr3[2] = 6;//输出数组,for循环遍历一维数组for(int i = 0; i<arr3.length; i++)		//数组有length属性,数组长度System.out.print(arr3[i] + "\t");System.out.println();		//换行//for……each循环遍历数组String[] value = {"学校", "公司", "hnie.edu.cn", "clr.com"};//Arrays.sort(value);for(String item:value){System.out.print(item + "\t");}System.out.println();//二维数组int myarr[][] = new int[][]{{12, 0},{45, 23,36}};int myarr2[][] = {{12, 0},{45, 23, 40}};int myarr3[][] = new int[2][3];//2.使用Arrays类复制数组,java.util.Arrays类的使用System.out.println("遍历数组arr4,同时显示它最近的8的倍数是多少,一个小技巧。");int[] arr4 = Arrays.copyOfRange(arr2, 5, arr2.length);int num8;for(int i =0; i< arr4.length; i++){num8 = ( arr4[i] + 0x7)&~0x7;		//技巧,把一个数升级到8的倍数System.out.print( arr4[i] + "->" + num8 + "\t");}System.out.println();//3.查找数组,二分查找Arrays.sort(arr2);		//先要排序int index = Arrays.binarySearch(arr2, 6);System.out.println("在数组arr2中二分查找6:" + "arr2[" + index + "]=6");//测试自己写的二分查找index  = binSearch(arr2, 6);System.out.println("在数组arr2中用自己写的二分查找6:" + "arr2[" + index + "]=6");//4.排序算法,常见的冒泡排序,选择排序,快速排序System.out.println("排序算法演示,原先数组元素arr是");printArr(arr1);//冒泡排序int[] arr = Arrays.copyOf(arr1, arr1.length);System.out.println("冒泡排序");for(int i=0; i<arr.length; i++){//比较相邻的两个元素,较大的数往后冒泡for(int j=arr.length -1; j > i; j--){if(arr[i] > arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}printArr(arr);//选择排序arr = Arrays.copyOf(arr1, arr1.length);	//数组复位System.out.println("选择排序");int idx;for(int i=0; i < arr.length; i++){idx = i;for(int j=i+1; j < arr.length; j++){if(arr[j] < arr[idx]){			//从数组后面查找较小的元素出来idx = j;}}//交换两个元素if(idx != i){int temp = arr[i];arr[i] = arr[idx];arr[idx] = temp;}}printArr(arr);//快速排序arr = Arrays.copyOf(arr1, arr1.length);	   //数组复位System.out.println("快速排序");quickSort(arr, 0, arr.length-1);printArr(arr);//}/*** 打印数组* @param arr*/private static void printArr(int[] arr){for(int i = 0; i<arr.length; i++)System.out.print(arr[i] + "\t");System.out.println();		//换行}/*** 快速排序算法* @param arr* @param loidx* @param hiidx*/public static void quickSort(int[] arr, int loidx, int hiidx){int lo = loidx;int hi = hiidx;int mid;if(hiidx > loidx){mid = arr[loidx + (hiidx -lo)/2];		//中间分界元素while(lo <= hi){while((lo<hiidx) && (arr[lo] < mid))++lo;while((hi > loidx) && (arr[hi] > mid))--hi;if(lo<=hi){swap(arr, lo, hi);++lo;--hi;}}}//if(loidx < hi)quickSort(arr, loidx, hi);if(lo < hiidx )quickSort(arr, lo, hiidx);}//end quickSort/*** * @param arr* @param i* @param j*/private static void swap(int[] arr, int i, int j){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}/*** 二分查找* @param arr* @param k* @return*/public static int binSearch(int[] arr, int k){//arr需要事先排序int lo = 0;int hi = arr.length-1;while(lo<=hi){int mid = lo + (hi -lo) / 2;if(k < arr[mid])hi = mid-1;else if(k > arr[mid])lo = mid +1;elsereturn mid;}return -1;}}

0  6  0 

学校  公司  hnie.edu.cn clr.com

遍历数组arr4,同时显示它最近的8的倍数是多少,一个小技巧。

7->8  10->16  19->24  20->24  23->24  27->32  33->40  41->48  55->56 

在数组arr2中二分查找6arr2[4]=6

在数组arr2中用自己写的二分查找6arr2[4]=6

排序算法演示,原先数组元素arr

33 4  56 45 3  96 13 5  77 1 

冒泡排序

3  4  5  13 33 45 56 77 96

选择排序

3  4  5  13 33 45 56 77 96

快速排序

3  4  5  13 33 45 56 77 96

 







本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

振臂高呼式的写作:谈肖亦农的《毛乌素绿色传奇》

这是2011年底我与肖亦农和鄂尔多斯文联主席乌力吉布林在人民大会堂参加中国作家协会代表大会的合影&#xff0c;半年后我们又在人民大会堂相聚&#xff0c;是参加肖亦农的最新作品《毛乌素绿色传奇》研讨会。 肖亦农是我多年的朋友&#xff0c;是兄长&#xff0c;也是内蒙老乡&…

蜕变与成长中的青春创作:评论家谈少数民族青年作家的创作

在日前由中国作家协会主办&#xff0c;中国少数民族作家学会、《民族文学》杂志社协办的少数民族青年作家作品研讨会上&#xff0c;来自全国的10位少数民族青年写作者成为主要研讨对象。他们是照日格图(蒙古族)、苏笑嫣(蒙古族)、鲍尔金娜(蒙古族)、陶丽群(壮族)、马金莲(回族)…

Ubuntu 国内镜像源

中科大镜像站 阿里云镜像站 兰州大学镜像站 北京理工大学镜像站 浙江大学镜像站 清华大学镜像站

彩色图转化为灰度图

彩色图转化为灰度图 源文件 `timescale 1ns / 1ps module rgb2gary(input [7:0] rgb_r,input [7:0] rgb_g,input [7:0] rgb_b,output [7:0] gary); //Verilog不支持小数 // assign gary = 0.299 * rgb_r + 0.587 * rgb_g + 0.114 * rgb_b; wire [17:0] gary_te…

Java面向对象入门

package com.org.lxh;import java.util.Calendar;/*** 面向对象编程入门* author hemmingway <hemmingway163.com>**/ public class Chp6 {int num500; //成员变量public static int num2200; //静态变量public static final double PI3.1415926; /…

时间与经验的等待:谈几位少数民族“80后”和“90后”作家

照日格图是我欣赏的蒙古族青年散文家。两年前&#xff0c;我就读过他的《怀念一垛草》。这篇散文通过打草与草垛将故事连接在一起&#xff0c;表现了蒙古人质朴真实的生活和命运。那些既熟悉又陌生的细节让我有种莫名的感动&#xff0c;它既让我们了解了草原秋天的景象&#xf…

win10系统如何禁用驱动程序强制签名

1. 首先打开并登录操作系统左下角。开始菜单上单击选择设置 2. 在设置页面选择“更新和安全” 3.在”更新和安全页面“找到左侧的恢复选项&#xff0c;在右侧选择”立即重新启动” 4.在启动页面选择疑难解答 5. 进入疑难解答页面选择”高级选项“ 6.在”高级选项“页面中选择”…

说不尽的嘎达梅林:读郭雪波的长篇小说《青旗•嘎达梅林》

嘎达梅林做为一个民族英雄&#xff0c;已经是个永久的传奇。很多文学作品、电影、电视&#xff0c;还有音乐都表现过这个人物&#xff0c;使他的影响力已经超出了蒙古民族的范畴&#xff0c;成为整个中华民族的英雄人物长廊中的一个典型。正因为如此也给后来的写作者制造了难题…

实现图像的二值化

实现图像的二值化 源文件 `timescale 1ns / 1ps module binarization(//module clockinput clk , // 时钟信号input rst_n , // 复位信号(低有效)//图像处理前的数据接口input ycbcr_vsync , // vsync信号input ycbcr_hsync , // hsync信号input ycbcr_de , // data enable…

Java面向对象进阶

相关额外的代码待上传。。。 /*** 面向对象进阶*/ package com.org.lxh;import com.org.lxh.ext.Demo; import com.org.lxh.impl.AysTest; import com.org.lxh.impl.Person; import com.org.lxh.impl.Test; import com.org.lxh.inter.InterTest; import com.org.lxh.obj.Addres…

2012 IBM软件技术峰会:IBM与开发者谈四大热门领域看法

8月23日&#xff0c;以“技术维新&#xff0c;预见未来”为主题的2012 IBM软件技术峰会在京举行&#xff0c;本次大会在“大数据、云计算、敏捷、移动”四个领域展开讨论&#xff0c;IBM全球副总裁兼中国开发中心总经理王阳、IBM软件集团Rational总经理Kristof Kloeckner、IBM系…

实现图像的中值滤波

实现图像的中值滤波 底层模块 `timescale 1ns / 1ps module median_filter #(parameter DATA_WIDTH = 8 ) (input clk , //pixel clkinput reset_p ,input [7:0] data_in ,input data_in_valid ,input data_in_hs ,input dat…

我的博客今天6岁298天了,我领取了元老博主徽章

我的博客今天6岁298天了&#xff0c;我领取了徽章. 2005.11.26&#xff0c;我在新浪博客安家。1999.08.20&#xff0c;我写下了第一篇博文&#xff1a;《小说是读者的艺术》。2006.04.20&#xff0c;我上传了第一张图片到相册。至今&#xff0c;我的博客共获得845,523次访问。…

今天无聊弄得C++

// chp2.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #include <stdlib.h> #include <string.h> #include <time.h> #include <math.h>//数据结构 //数组(Array)、堆栈(Stack)、队列(queue)、链表(Linked List)、树(Tree)、图…

“80后”作家应扮演更重要的角色

曾经在《北京文学》月刊社做副主编&#xff0c;现在做文学批评家和图书策划人&#xff0c;在他的眼里&#xff0c;新生代作家是文学的未来&#xff0c;也是文学不会消亡的保证。他对新生代的关注是一贯的。他策划过“60年代出生作家小说大展”、“好看小说大展”“新女性随笔系…

串口通信的收发程序

串口通信的收发程序 串口时钟是指异步串行通信,异步串口是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。UART是一个并行输入成为串行输出的芯片。通常集成在主板上。 消息帧是由一个低起始位开始,后面是7个或8个数据位,一个可用的奇偶位或几个…

网络游戏server编程,第一章笔记

1、什么是模块化&#xff1f; 现在的服务器程序大致分为三类&#xff0c;引擎模块&#xff0c;游戏逻辑模块以及管理模块。 引擎模块的功能主要是网络通信&#xff0c;加密&#xff0c;内存管理等&#xff1b; 游戏逻辑模块随着游戏的不同&#xff0c;内容也不同&…

让阅读成为一种习惯

多媒体时代的来临&#xff0c;使传统的纸质阅读受到前所未有的挑战。信息爆炸、思维与写作的即时性和碎片化&#xff0c;已经让大众无法感受知识的价值、读书的乐趣以及对心灵交流的渴望。面对这种客观存在&#xff0c;我们或许无力改变&#xff0c;但作为文化的传播者&#xf…

Atmosphere 1.0:支持Java/JavaScript的异步通信框架

Atmosphere 1.0是一个新的Java/Scala/Groovy框架&#xff0c;它试图将Web浏览器与应用服务器之间的通信抽象出来。在Web Socket、HTML5服务器端事件和其他特定于应用服务器的解决方案可用时&#xff0c;该框架可以透明地支持&#xff0c;此外还可将长轮询作为一种备选方案。\u0…

图像处理的笔记

图像处理的笔记 进行图像识别的算法时&#xff0c;先在MATLAB中仿真&#xff0c;注意不要使用MATLAB的函数实现你想要的功能&#xff0c;比如灰度图像的反向、二值化。如果实在需要用到函数&#xff0c;可以在MATLAB的命令窗口中输入“help 函数”进入函数说明文档&#xff0c…