陣列排序的學習

2021-06-28 15:12:18 字數 1146 閱讀 3582

其實在開始的時候對這句:

public.static.void main(string  args)

中"string [ ] args"我一直很困惑,因為我在另一本書上看到的是"string args[ ]」,而我發現這兩種寫法並不影響**的編譯執行,但我還是被這個問題折磨著。直到我看到陣列的表達方式 「資料型別[ ]  陣列名稱」,也可表達為 「 資料型別 陣列名稱[ ] 」,我的疑問就暫告一段落,雖然伴隨著為什麼"string",為嘛要大寫等更多疑問。然後,在網上看到一句話「在開始學習的時候,如果某個問題暫時還弄不明白,就沒必要死磕在那。因為很可能是你當前的知識面限制了你的認識,等你學到後面,你會發現那些都不再會是問題了。」說的很有道理,我就暫時不糾結了,待我日後學成之日,再回來把這問題的條條道道寫下來。

在陣列有乙個很有意思的東西叫排序問題,包括從中引申出的查詢、插入,現回顧下學到的知識點:

1、選擇排序,思想是 對乙個長度為i的陣列進行i遍的遍歷,第一次遍歷出的最值將與陣列的第乙個元素進行交換位置;然後第二次遍歷將最值和第二個元素進行交換。。迴圈i遍,就會將所有元素按序排列了。主要**如下:

...

for (int i=0;iint j=i+1;jarr[j])

}}...

2、氣泡排序,又稱交換排序法,即相鄰兩個互相比較,然後將最小值放在右邊,這樣最大值就會像氣泡一樣上浮到最左邊。

氣泡排序對是已部分排序的資料進行排序的演算法, 若資料為隨機排序則,這種演算法最慢。 

主要**如下:

...

for(int i=0;ij;j++)

}}...

當然在實際開發中 我們需要用的是 arrays.sort( array);

3、查詢、插入。在有序陣列中插入乙個資料,並保持陣列的有序。其實是乙個比較的過程,我現在學到的是一種叫折半查詢的方法:

...

int min=0;

//列出最大值、最小值的角標

int max=arr.length-1;

int mid;

while(min<=max)

...

Objective C學習 陣列排序問題

學到陣列的時候,經常為了資料排序因為排序問題煩惱,樓主也是如此,其實objc為我們提供了很好的排序機制,如下 加文本來解釋一下 main.m nsarraysort 陣列排序 部落格 created by yuewen on 15 9 13.首先定義乙個陣列 nsarray array boy ar...

Java 陣列,排序,查詢學習

1.陣列可以存放多個同一型別資料。2.物件陣列以及賦值,建立乙個物件陣列,初始化賦值的時候要引用一下物件 3.簡單資料型別 int,float 陣列,可直接賦值 4.物件陣列在定義之後,賦值時需要再次為每個物件分配空間 即 new 物件 5.陣列大小必須事先指定 6.陣列名可以理解為執向陣列首位址的...

陣列的排序

程式的版權和版本宣告部分 檔名稱 array.cpp 作 者 李蒙 完成日期 2012 年12月2 日 版本號 v1.0 輸入描述 無 問題描述 冒泡法排列陣列 include using namespace std void bubble sort int a,int n void output ...