zoukankan      html  css  js  c++  java
  • 数组(1)

    1.数组

    1)定义

      相同类型数据的有序集合

    2)特点

      1数据类型是相同的;

      2数据时有序的;

      3它的长度是确定的,一旦被写出,就不能被改变;

      4数组内的数据类型可以是基本数据类型和引用数据类型。

    3)内存分配

      1栈内存(stack)  存储基本数据类型,占较小空间,不需要清理空间

      2堆内存(heap) 存储引用数据类型,占较大空间,需要用new要申请堆内存,用完要删除,但Jvm自动清理空间

    2.声明数据的方式<如int>

      1)int [ ] arr;

      arr=new int [ i ];

      arr [0]=1;

      arr [1]=2;

      .......

      System.out.println(arr[ i ]);

      2) int [ ] arr=new int [ ] { 值1 ,值2,值3,...         }

      3)int [ ] arr={ 值1 ,值2,值3,...         }

      需要4步

      声明一个数组;给数组分配空间;赋值;访问数组元素

    3.数组的遍历

    每一数组元素进行访问

    从控制台输出5名同学的成绩,并求平均分

    import java.util.Scanner;
    public class Test03{
        public static void main(String[ ]args){
            Scanner input=new Scanner(System.in);
            float[] arr=new float[5];
            float sum=0.0f;
            for(int i=0;i<arr.length;i++){
                System.out.println("第"+(i+1)+"位成绩为:");
                arr[i]=input.nextFloat();
                sum+=arr[i];
            }
            System.out.println("平均分为:"+sum/arr.length);
        }
    }

    4.数组的算法

      1)插入算法

      在一个有序的数组中,添加一个元素,使其依然是有序的

     1 //1 2 4 6 9    5
     2 public class Test04{
     3     public static void main(String[]args){
     4         int [] arr={1,2,4,6,9,0};
     5         int t=5;
     6         int wz=-1;
     7         for(int i=0;i<arr.length-1;i++){
     8             if(arr[i]>=t){
     9                 wz=i;
    10                 break;
    11             }
    12         }
    13         System.out.println("wz"+wz);
    14             if(wz<0){
    15                 arr[arr.length-1]=t;
    16             }else{
    17                 for(int j=arr.length-1;j>wz;j--){
    18                     arr[j]=arr[j-1];
    19                 }
    20                 arr[wz]=t;
    21             }
    22         
    23         for(int i=0;i<arr.length;i++){
    24             System.out.println(arr[i]);
    25         }
    26     }
    27 }

     

      2)删除算法、

      在一个有序的数组中,删除一个元素,数组依然有序

     1 //一个有序的数组,删除一个元素,数组依然有序。  删除数组
     2 //1 2 4 6 8 9    4
     3 public class Test05{
     4     public static void main(String[]args){
     5         int [] arr={1,2,4,6,8,9};
     6         int t=4;
     7         int wz=-1;
     8         for(int i=0;i<arr.length;i++){
     9             if(t==arr[i]){
    10                 wz=i;
    11                 break;
    12             }
    13         }
    14         if(wz<0){
    15             System.out.println(t+"在数组中不存在");
    16         }else{
    17             for(int j=wz;j<arr.length-1;j++){
    18                 arr[j]=arr[j+1];
    19             }
    20         }
    21         arr[arr.length-1]=0;
    22         for(int i=0;i<arr.length;i++){
    23         System.out.println(arr[i]);
    24         }
    25     }
    26 }

     

      3)冒泡算法

      在一个无序的数组中,将其变为一个有序的数组

     1   //对一个无序的数组进行排序  冒泡算法
     2 
     3 public class Test06{
     4     public static void main(String[]args){
     5         int [] arr={4,6,2,5,8,7,13};
     6         int ec=0;
     7         for(int i=0;i<arr.length-1;i++){  //控制趟数
     8             for(int j=0;j<arr.length-1-i;j++){//两两比较
     9                 if(arr[j]>arr[j+1]){
    10                     ec=arr[j];
    11                     arr[j]=arr[j+1];
    12                     arr[j+1]=ec;
    13                 }
    14             }
    15         }
    16         for(int i=0;i<arr.length;i++){
    17             System.out.println(arr[i]);
    18         }
    19     }
    20 }

     

  • 相关阅读:
    Repeater中使用Button
    C#, JS, HTML 转义字符
    简化: ASP.NET 事件触发顺序
    必须写闭合标签
    JS通用窗口拖动函数
    SQL修修补补语句
    asp.net: RDLC 报表
    Ascx中引用(调用)JS文件,在用户控件中引用(调用)JS文件
    <a>
    JS, CSS 引用样式
  • 原文地址:https://www.cnblogs.com/qq2267711589/p/10720903.html
Copyright © 2011-2022 走看看