1.打印数组
方法一(for循环):
public static void printArray(int array[]) {
//打印数组
for (int i = 0; i <array.length ; i++) {
System.out.print(array[i]+" ");
}
System.out.println();
}
方法二(for-each循环):
int[] array = {1, 2, 3};
for (int x : array) {
System.out.println(x);
}
方法三(将数组转换成字符):
import java.util.Arrays
//包含数组常用操作的包
int[] arr = {1,2,3,4,5,6};
String newArr = Arrays.toString(arr);
System.out.println(newArr);
2.二分法查找数组数据
public static int search(int array[]) {
//二分法查找数组中的数据
Scanner sc=new Scanner(System.in);
System.out.println("请输入你想查找的数据:");
int i=sc.nextInt();;
int left=0;
int right=array.length-1;
while(left<=right){
int mid= (left+right)/2;
if(i>array[mid]){
left=mid+1;
}else if(i<array[mid]){
right=mid-1;
}else{
return mid;
}
}
return -1;
}
3.冒泡排序法:
public static void maopao(int array[]) {
//冒泡排序法(数组)
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length-i-1; j++) {
if(array[j]>array[j+1]) {
int num = array[j];
array[j]=array[j+1];
array[j+1]=num;
}
}
}
}
4.只出现一次的数字
题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
public static int one(int array[]){
//查找数组中孤立无援的数字
int x=0;
for (int i = 0; i < array.length; i++) {
int j=array[i];
x=x^i;
}
return x;
}
5.多数元素
题目:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。假设数组是非空的,并且给定的数组总是存在多数元素。
public static int element(int array[]){
int count=1;
int num=array[0];
for (int i = 0; i < array.length; i++) {
if(count==0){
num=array[i];
count++;
}else if(num==array[i]){
count++;
}else{
count--;
}
}
return num;
}
6.存在连续三个奇数的数组
题目:给你一个整数数组 arr
,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回 true
;否则,返回 false
。
public static boolean jishu(int array[]){
int count=0;
for (int i = 0; i < array.length; i++) {
if(array[i]%2!=0){
count++;
}else{
count=0;
}
if(count==3){
break;
}
}
if(count>=3){
return true;
}
else{
return false;
}
}
7.求数组中元素的平均值
public static double avg(int[] arr) {
//求数组平均值
int sum = 0;
for (int x : arr) {
sum += x;
}
return (double)sum / (double)arr.length;
}
8.顺序查找数组数据
public static int find(int[] arr, int data) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == data) {
return i;
}
}
return -1; // 表示没有找到
}
9.数组排序(内置算法)
import java.util.Arrays;
public static void main(String[] args) {
int[] arr = {8,5,7,3,4};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
10.数组逆序
public static void reverse(int[] arr) {
int left = 0;
int right = arr.length - 1;
while (left < right) {
int tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
}