以下陣列皆採用 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...