数组排序,查找元素,插入元素,删除元素,反转数组,填充数组

1.如何排序数组并搜素某个元素,找到返回下标

public class problem {

	public static int bubblesort(int[] a,int m){
		int tmp=0;
		for(int i=0;i<a.length-1;i++){
			for(int j=0;j<a.length-1-i;j++){
				if(a[j]>a[j+1]){
					tmp=a[j];
					a[j]=a[j+1];
					a[j+1]=tmp;
				}
			}
		}
		for(int i=0;i<a.length;i++){
			if(a[i]==m){
				return i;
			}
		}
		return -1;
	}
	
	public static void show(int[] array){
		for(int i=0;i<array.length;i++){
			System.out.print(array[i]+" ");
		}
		System.out.println();
	}
	public static void main(String[] args) {
		int[] a={6,2,0,8,4,7,19,12,14,17};
		show(a);
		System.out.println("==排序后==");
		int bubblesort=bubblesort(a,7);
		show(a);
		System.out.println("==查找数字下标为==");
		System.out.println(bubblesort);
	}
}

这里写图片描述
2.如何排序数组并插入某个元素

package problem;
import java.util.*;
public class insert {
	public static void show(int[] array){
	for(int i=0;i<array.length;i++){
		System.out.print(array[i]+" ");
	}
	System.out.println();
	}
	public static int[] searchAndinsert(int[] array,int[] array2,int a){
		int i;
		for(i=0;i<array.length;i++){
			if(a>array[i]&&a<array[i+1]){
				break;
			}
		}
		System.arraycopy(array, 0, array2, 0, i+1);
		array2[i+1]=a;
		System.arraycopy(array,i+1 ,array2, i+2,array.length-i-1 );
		return array2;
	}
	public static void main(String[] args) {
		int[] a={6,2,0,8,4,7,19,12,14,17};
		int m=9;
		int[] b=new int[a.length+1];
		System.out.println("==插入某元素前数组==");
		show(a);  
		System.out.println("==排序后数组==");
		Arrays.sort(a);//数组的排序方法
		show(a);
		System.out.println("要插入的元素:"+m);
		System.out.println("==插入元素后的数组==");
		searchAndinsert(a,b,m);
		show(searchAndinsert(a,b,m));
	}

}

这里写图片描述
3.如何反转数组

	public static void reversal1(int[] array){
		int tmp;
		for(int i=0;i<array.length/2;i++){
			tmp=array[i];
			array[i]=array[array.length-1-i];
			array[array.length-1-i]=tmp;
		}
		show(array);
	}
	public static void show(int[] array){
		for(int i=0;i<array.length;i++){
			System.out.print(array[i]+" ");
		}
		System.out.println();
	}
	public static void main(String[] args) {
		int[] a={6,2,0,8,4,7,19,12,14,17};
		System.out.println("==反转前数组==");
		show(a);
		System.out.println("==反转后数组==");
		reversal1(a);
	}

这里写图片描述
4.如何将字符串数组写入输出控制台(打印String数组)

public class print {

	public static void main(String[] args) {
		String[] a={"hua","chen","yu"};
		for(int i=0;i<a.length;i++){
			System.out.print(a[i]+" ");
		}
		System.out.println();
	}

这里写图片描述
5.如何搜素数组中最大值和最小值

	public static void main(String[] args) {
		int[] a={6,2,0,8,4,7,19,12,14,17};
		int max=a[1];
		int min=a[1];
		for(int i=1;i<a.length;i++){
		if(max<a[i]){
			max=a[i];
		}
		if(min>a[i]){
			min=a[i];
		}
		}
		System.out.println("最大值为:"+max+"   最小值为:"+min);
	}

这里写图片描述
6.如何合并两个数组

package problem;
import java.util.Arrays;
public class blend {

	public static void main(String[] args) {
		int[] a={6,2,0,8,4,7};
		int[] b={19,12,14,17};
		int[] c=new int[a.length+b.length];
		for(int i=0;i<a.length;i++){
			c[i]=a[i];
		}
		for(int i=0;i<b.length;i++){
			c[i+a.length]=b[i];
		}
		System.out.println(Arrays.toString(c));
	}
}

这里写图片描述
7.如何填充数组

package problem;
import java.util.Arrays;
public class fill {
	public static void main(String[] args) {
		String[] array = new String [6];
		Arrays.fill(array,0,3,"HCY");//部分填充
		System.out.println(Arrays.toString(array));
		Arrays.fill(array,"HCY");//全部填充
		System.out.println(Arrays.toString(array));
	}
}

这里写图片描述
8.初始化后如何扩展数组

	public static void ectArray(){
		String[] str = {"A","B","C","D"};
		//  D   E    3  4 
		String[] str2 = new String[str.length+2];
		str2[str.length] = "E";
		str2[str.length+1] = "F";
		System.arraycopy(str, 0, str2, 0, str.length);
		System.out.println(Arrays.toString(str2));
	}

9.如何排序和比较数组

package problem;
import java.util.Arrays;
public class compare {

	public static void main(String[] args) {
		int[] array = {11,2,32,14,5};
		int[] array2 = {11,2,32,14,5};
		System.out.println(array.equals(array2));//地址!!!  
		
		if(Arrays.equals(array2, array)){
			System.out.println("====same====");
		}else{
			System.out.println("===not=same====");
		}
	}

}

这里写图片描述
10.如何删除指定元素

package problem;
import java.util.Arrays;
public class delete {
	public static int serach(int[] array,int val){
		for(int i=0;i<array.length;i++){
			if(array[i]==val){
				return i;
			}
		}
		return -1;
	}

	public static void main(String[] args) {
		int[] a={6,2,0,8,4,7,19,12,14,17};
		System.out.print("原数组为:");
		System.out.println(Arrays.toString(a));
		int val=0;
		System.out.println("要删除的数据为:"+val);
		if(serach(a,val)==-1){
			return;
		}
		for(int i=serach(a,val);i<a.length-1;i++){
			a[i]=a[i+1];
		}
		a=java.util.Arrays.copyOf(a, a.length-1);
		System.out.print("删除后数组为:");
		System.out.println(Arrays.toString(a));
	}

}

这里写图片描述
11.如何从数组中查找常见元素

package problem;
import java.util.Arrays;
public class find {
	public static void main(String[] args) {
		int i;
		int val=2;
		int[] array = {1,2,3,14,5,32,2,1};
		System.out.println("==原数组==");
		System.out.println(Arrays.toString(array));
		System.out.println("要查找的数:"+val);
		System.out.print("要查找的下标为:");
		for(i=0;i<array.length;i++){
			if(array[i]==val){
				System.out.print(i+" ");
			}
		}
	}
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值