1、数组复制算法
arr1 | 1 | 3 | 5 | 7 | 9 |
---|---|---|---|---|---|
arr2(复制前) | 0 | 0 | 0 | 0 | 0 |
arr2(复制后) | 1 | 3 | 5 | 7 | 9 |
public class arr_copy {
public static void main(String[] args){
int[] arr1 = {1,3,5,7,9};
int[] arr2 = new int[arr1.length];
for (int i=0; i<arr1.length; i++){
arr2[i] = arr1[i]; //将arr1数组的值复制给arr2
}
for (int i=0; i<arr1.length; i++){
System.out.println(arr2[i]);
}
}
}
2、数组查找算法
在数组中查找某个值是否存在
arr | 红 | 蓝 | 绿 | 橙 | 粉 |
---|
import java.util.Scanner;
public class arr_find
{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("请输入要查找的字:");
String word = in.next();
String[] arr = {"红","蓝","绿","橙","粉"};
boolean flag = false; //用布尔判断查找结果
for (int i=0; i<arr.length; i++){
if (arr[i].equals(word)){
flag = true;
break;
}
}
if (flag==true){
System.out.println("找到了");
} else{
System.out.println("没有哦");
}
}
}
3、数组插入算法
在数组末尾插入一个值,然后重新排序
import java.util.Scanner;
public class arr_replace {
public static void main(String[] args){
Scanner in =new Scanner(System.in);
int[] arr = {11,22,33,44,55,66};
System.out.println("请输入要插入的值:");
int num = in.nextInt();
arr[(arr.length)-1] = num;
for (int i=arr.length-1; i>0; i--) {
if (arr[i]<arr[i-1]){
int t = arr[i];
arr[i] = arr[i-1];
arr[i-1] = t;
} else{
break;
}
}
for (int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
}
}
新增:数组替换算法(替换某个值,无排序)
import java.util.Scanner;
public class arr_replace {
public static void main(String[] args){
Scanner in =new Scanner(System.in);
int[] arr = {11,22,33,44,55,66};
System.out.println("请输入要替换第几位:");
int num_flag = in.nextInt();
System.out.println("请输入新的值:");
int num = in.nextInt();
for (int i=0; i<arr.length; i++) {
if ((i+1)==num_flag){
arr[i]=num;
}
}
for (int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
}
}
4、数组冒泡排序
arr[0]比arr[1],arr[1]比arr[2]…
public class arr_mp {
public static void main(String[] args){
int[] arr = {23,12,45,24,87,65,12};
for (int i=0; i<arr.length-1; i++){
for (int j=0; j<arr.length-1;j++){
if (arr[j] > arr[j+1]){ //这里改升序或降序
int t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
for (int i=0; i<arr.length; i++){
System.out.print(arr[i]+"\t");
}
}
}
5、数组选择排序
public class arr_sel {
public static void main(String[] args){
int[] arr = {23,12,45,24,87,65,12};
for (int i=0; i<arr.length-1; i++){
for (int j=i+1; j<arr.length; j++){
if (arr[i]<arr[j]){
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
}
for (int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
}
}