笔记:2016-06-02
JAVA
判斷那個方法是重載
void show(int w, double c, char b){}
void show(int x, char y, double z){} true
void show(int a, double c, char b){} false
void show(int a, char b){} true
void show(double c){} true
double show(int x, char y, double z){} true
?
1. 數組的定義
| 格式1: |
| 元素類型[] 數組名 = new 元素類型[元素個數或數組長度]; 示例:int[] arr = new int[5]; |
| 格式2: |
| 元素類型[] 數組名 = new 元素類型[]{元素,元素,……}; int[] arr = new int[]{3,5,1,7}; int[] arr = {3,5,1,7}; |
?
?
1. 數組的內存分析
案例分析一:
案例分析二:
?
直接排序
/*
選擇排序。
以一個角標的元素和其他元素進行比較。
在內循環第一次結束,最值出現的頭角標位置上。
*/
public static void selectSort(int[] arr)
{
?????????? for(int x=0; x<arr.length-1; x++)
?? {
?????????? for(int y=x+1; y<arr.length; y++)//為什么y的初始化值是 x+1? 因為每一次比較,
?????????? //都用x角標上的元素和下一個元素進 行比較。
??????? {
?????????????? if(arr[x]>arr[y])
????????????? {
??????????????????? int temp = arr[x];
??????????????????? arr[x] = arr[y];
??????????????????? arr[y] = temp;
????????????? }
?????? }
}
}
冒泡排序
/*
冒泡排序。
比較方式:相鄰兩個元素進行比較。如果滿足條件就進行位置置換。
原理:內循環結束一次,最值出現在尾角標位置。
*/
public static void bubbleSort(int[] arr)
{
??????? for(int x=0; x<arr.length-1; x++)
?????? {
??????????????? for(int y=0; y<arr.length-x-1; y++)//-x:讓每次參與比較的元減。
???????????????? //-1:避免角標越界。
??????????????? {
?????????????????????????? if(arr[y]>arr[y+1])
?????????????????????????? {
?????????????????????????????????? int temp = arr[y];
?????????????????????????????????? arr[y] = arr[y+1];
?????????????????????????????????? arr[y+1] = temp;
?????????????????????????? }
????????????????? }
????????? }
}
折半查找(二分法)
案例四:
/*
為了提高查找效率,可使用折半查找的方式,注意:這種查找只對有序的數組有效。
這種方式也成為二分查找法。
*/
public static int halfSeach(int[] arr,int key)
{
??????????? int min,mid,max;
??????????? min = 0;
???????????? max = arr.length-1;
???????????? mid = (max+min)/2;
???????????? while(arr[mid]!=key)
???????????? {
?????????????????????????? if(key>arr[mid])
???????????????????????????????????? min = mid + 1;
?????????????????????????? else if(key<arr[mid])
???????????????????????????????????? max = mid - 1;
??????????????????????????? if(min>max)
???????????????????????????????????? return -1;
?????????????????????????? mid = (max+min)/2;
???????????????? }
??????????????? return mid;
}
?
數組翻轉
/*
反轉其實就是頭角標和尾角標的元素進行位置的置換,
然后在讓頭角標自增。尾角標自減。
當頭角標<尾角標時,可以進行置換的動作。
*/
public static void reverseArray(int[] arr)
{
??????????? for(int start=0,end=arr.length-1; start<end; start++,end--)
?????????? {
??????????????????????????? swap(arr,start,end);
???????????? }
}
//對數組的元素進行位置的置換。
public static void swap(int[] arr,int a,int b)
{
???????????????? int temp = arr[a];
???????????????? arr[a] = arr[b];
???????????????? arr[b] = temp;
}
?
?
為什么a.length = 3, a[0].length = 4?
數組的初始化:
靜態初始化:
int [][] a = new int[][]{ {12,34,45,89},{34,56,78,10},{1,3,6,4} };
動態初始化:
?
?
?
?
?
// $()函數的另外一個作用:動態創建元素
var $spanNode = $(“<span>我是一個span元素</span>”);
轉載于:https://www.cnblogs.com/binperson/p/5551952.html
總結
以上是生活随笔為你收集整理的笔记:2016-06-02的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在jQuery和JavaScript中,
- 下一篇: codebrag审核代码工具安装配置