数组的简单介绍及应用

1.一维数组

变量概念:一种存储空间的表示
数组概念:一组类型相同的连续的存储空间的表示

数组的特性
	//1.长度 固定
	//2.不可变
	//3.下表索引:0~array.length-1 : 如果超出范围会报错★异常
	
优点:
	1、类型相同
	2、连续:遍历
缺点
	1.类型相同:无法考虑不同类型多个值的存储
	2.连续:插入,移除繁琐

使用数组四步骤

	1.声明		xxx[] array;
	2.分配空间	array = new xxx[int LENGTH];
	3.赋值		arry[int INDEX]= VALUE;
	4.使用		System.out.println(array[int INDEX]);

数组的静态初始化:

     int[] arr2 = {5,7,9};

数组的静态初始化:

   创建一个长度为5的数组  
      int[] arr l= new int[5];

数组的遍历:

public class Test01 {
     public static void main(String[] args) {
      int[] arr = {8,9,6,12,14,5,2};
      for(int i = arr.length-1;i>=0;i--){
        System.out.print(arr[i]+"\t");
      }
   }
}

数组指定位置插入

    Scanner input = new Scanner(System.in);
    System.out.print("请输入想插入的位置:");
    int pos = input.nextInt();  // position=位置
    char[] arr = {'f','e','a','g','k','m','x',(char)0};
    char t = 'y';

    for(int i = arr.length-1;i>pos;i--){
        arr[i] = arr[i-1];
    }
    arr[pos] = t;
    System.out.print("\n---------");
    for(char c: arr){
        System.out.print(c+"\t");
    }

//顺序插入:插入有有序

    Scanner input = new Scanner(System.in);
        char[] arr2 = {'f','e','a','g','k','m','x',(char)0};
        char t2 = input.next().charAt(0);
        int i = arr2.length-2;
        for(;i>=0;i--){
            if(t2<arr2[i]) {
            }else{
                break;
            }
        }
        arr2 [i+1] = t2 ;
    for (char c : arr2) {
        System.out.print(c+"\t");
    }

数组排序:

(一) 冒泡排序

  int[] arr = {3 , 68 ,55 ,6 ,45 ,20, 4 };
      for(int i= 0 ,t; i < arr.length -1; i++){
          for (int j = 0; j < arr.length-1-i; j++) {
               if (arr[j]>arr[j+1]) {
               t = arr[j];
              arr[j] = arr[j+1];
               arr[j+1] = t;
            }
        }
    }for (int i:arr){
        System.out.println(i);
   }

(二)选择排序

 int[] arr = {55, 4, 55, 6, 45, 8, 68,};
    for (int i = 0, maxIx, maxValIx, t; i < arr.length - 1; i++) {
         maxValIx = 0;
         maxIx = arr.length - 1 - i;
         for (int j = 1; j <= maxIx; j++) {
                 if (arr[maxValIx] < arr[j]) {
                  maxValIx = j;
               }
       }
     if (maxIx != maxValIx) {
         t = arr[maxIx];
         arr[maxIx] = arr[maxValIx];
      }
    }
      for (int i : arr) {
      System.out.println(i);
 }

(三)插入排序

 int[] arr = {3, 68, 55, 6, 45, 20, 4,};
    for (int i = 1, t, j; i < arr.length; i++) {
        t = arr[i];
        for (j = i - 1; j >= 0 && arr[j] > t; j--) {
            arr[j + 1] =  arr[j];
        }
            arr[j + 1] = t;
    }
       for (int i : arr) {
        System.out.print(i+"\t");
      }
    }
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值