常見陣列演算法小解

2021-10-08 12:01:15 字數 1599 閱讀 7963

以下陣列皆採用 int arr = ;

氣泡排序(相鄰兩個元素進行比較,每次選出乙個最大值放在最後面)

for

(int i =

0; i < arr.length -

1; i++)}

}

2.選擇排序(每次選出乙個最小值放在最前面,假設第乙個是最小值依次與後面的數進行比較,如果碰到比假設最小值還小的數則進行交換,以此類推)

for

(int i =

0; i < arr.length -

1; i++)}

// 如果每一輪的最小值與假設的最小值不同 則交換兩個數的位置

if(minindex != i)

}

3.插入排序(每一輪都是從第二個元素開始 依次與前面元素進行比較 )

for

(int i =

1; i < arr.length ; i++

) arr[pos +1]

= t;

}

4.希爾排序(類似於優化版的插入排序)

int gap = arr.length;

while

(true

) arr[pos + gap]

= t;}}

if(gap ==1)

}

5.快速排序(採用遞迴分治的思想)

public

static

void

quicksort

(int

arr,

int start,

int end)

arr[i]

= arr[j]

; i++

;// 從前向後

while

(i < j && arr[i]

< pivot)

arr[j]

= arr[i]

; j--;if

(i -

1> start)

if(j +

1< end)

}}

6.二分法查詢

int start =0;

int end = arr.length -1;

while

(start <= end)

else

if(arr[mid]

< key)

else

}return-1

;

7.楊輝三角

int

arr =

newint[7

];for(

int i =

0; i < arr.length; i++

)else

system.out.

print

(arr[i]

[j]+

" ");}

system.out.

println()

;}

JS常見陣列操作

1 indexof判斷乙個陣列中某乙個元素是否存在,如果不存在返回 1 let i it arr.indexof 4 1 2 push向陣列中新增元素 arr.push 100 3 splice從陣列中刪除一些元素,插入一些元素 引數1 刪除的開始的索引的位置 引數2 刪除的數量 開始索引是刪除的起...

常見陣列幾道題目

基礎題目 參 public class test4 統計字元陣列中字母出現次數 printcount chararray public static void printcount char chararray 列印字母和次數 for int i 0,ch 97 i count.length i c...

Leetcode 常見陣列題型

1.三數之和 給你乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 請你找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。1.先判斷,如果陣列為空或者陣列長度小於3,則返回 2.對陣列進行排序 3.遍歷陣列y 如果nums...