学习总结6

来源:互联网 发布:如何评价巴基斯坦知乎 编辑:程序博客网 时间:2024/06/07 14:03

总结:

今天主要学习了数组,排序。方法的创建(声明)和调用等相关知识。

就数组而言

优点:

简化变量的操作

访问时存取效率高

缺点:

长度固定,一旦创建的话,大小没法更改。

只能存放相同的数据类型。

 

二维数组:数组的每一个元素存放还是数组   是一种行、列的表格结构


排序:


冒泡排序:两两相邻比较,交换位置,
int temp = ary1[j];
ary1[j] = ary1[j + 1];
ary1[j + 1] = temp;
要赋值不能直接写成交换

ary1[j + 1] = ary1[j];

 

选择排序

 第一个数字与之后的比较,把大的(小的)放在第一位。在依次比较第二。。。。。

排序算法的衡量标准:比较次数

 

 例题:

//声明两个数组,长度可以不一致,分别赋值,可以赋值相同的值,
  // 要求:将两个数组的值合并到一个数组中,但是重复的值只要一次(这样写可以得到创建的新数组没有多余的空间,节约空间)
  int[] ary1={11,23,34,45,12};
  int[] ary2={43,65,78,34,11,56,23,98,12};
  int count=0;
  int aryNew=0;//新数组大小
  for(int i=0;i<ary1.length;i++){
   for(int j=0;j<ary2.length;j++){
    if(ary1[i]==ary2[j]){
     count++;
    }    
   } 
  }
  System.out.println(count);
  aryNew=ary1.length+ary2.length-count;
  System.out.println("创建新数组的大小为:"+aryNew);
  int[] ary3=new int[aryNew];
  for(int i=0;i<ary2.length;i++){
    ary3[i]=ary2[i];
   }
   for(int i=ary2.length;i<ary3.length;i++){
    for(int j=0;j<ary1.length;j++){
     int a=0;
     for(int k=0;k<ary2.length;k++){
      if(ary1[j]!=ary2[k]){
       a++;
      }
      
      } 
     if(a==ary2.length){
      ary3[i]=ary1[j];
     }
     } 
    }
    for(int i=0;i<ary3.length;i++){
     System.out.print(ary3[i]+" ");
    }
    

 

 

 

原创粉丝点击