VB學習記錄 陣列

2021-10-02 04:44:11 字數 1715 閱讀 7474

陣列知識初步總結

1.定義乙個陣列,其實就是讓系統在記憶體中分配乙個連續的區域,用來儲存陣列的元素。其格式為:dim 陣列名字  (下界 to 上界) as  型別。

dim markvb(1 to 30) as integer '定義乙個一維陣列  上界30  下界是1  共30個元素。 也可以dim markvb(29) as integer,此定義下表從0開始,元素也是30個。   加上option base 1  ,dim markvb(30) as integer這個語句也是30個元素,下標從1開始。陣列大小=上界-下界+1。

2.動態陣列 ,不能定義陣列的維數和個數。dim  mark()  as integer  使用的時候重新宣告     redim mark(n)即可。使用關鍵字pereserve可以儲存之前的陣列內容。

3. redim 語句的下標可以是常量,也可以是有確定值的變數,程式書寫時可以多次使用redim來改變陣列的大小,但是每次使用redim語句都會造成陣列之前資料的丟失,使用preserve選項對陣列進行重新說明時,將會保留陣列中原來的資料,但是該引數只能改變最後一維的大小。

4.陣列輸入函式 array(),此函式只能對一維陣列進行賦初值,並且這個陣列必須為variant變體型,不能宣告陣列的大小和型別。dim  mark() ,mark=array(1,2,3)  ,此時可以利用ubound()函式確定陣列的上界,比如ubound(mark)=2,利用for迴圈可以輸出陣列元素。

5.val()是乙個型別轉換函式 ,可以把字串轉換成相應的整數,val("-3")=-3   val("vb5.0")=0  val("12 bc")=12  val與cstr功能相反,cstr將數值表示式的值換成字串        cstr(125)="125"

6. 選擇法排序

思想:求取陣列最值下標,並交換位置。

步驟: 1. 每一輪在未排序的陣列中,找出最值和第乙個元素進行交換,這樣就確定了乙個元素的位置

2. 未排序的陣列範圍縮小乙個,繼續採取上述步驟進行新的排序

注意一下  n個資料只要進行n-1輪排序即可  附上乙個**

7.冒泡法排序

思想:氣泡排序 每一次將相鄰的兩個數字進行比較,比如10個數字。每一次比較相鄰的兩個,讓比較大的數值往下走,第一輪比較9次就可以將最大的數字排到最後面,10個數字需要進行9趟比較,第i趟比較的次數為10-i.

注意點:氣泡排序是可以提前結束的,如果在某一趟的排序比較中,沒有發現變數的下沉,那麼說明數字已經是有序排列,則此時可以終結排序。設定乙個標誌變數 ,放在內迴圈中,用來檢測排序是否完成 。程式如下

8. 插入資料,在有序陣列中插入乙個資料

基本思想:首先尋找插入的位置,其次將插入位置之後的元素一次向後移位 。  

注意事項及** 如下

9.刪除資料

10. asc()函式用來返回字元的ascii碼   並且只返回第乙個字元  asc("abc")  =97   

vb學習記錄

oi暫時停了,投入到文化課 馬上就要期末考了,為了技術的期末考試,所以就花一點時間學習一下vb吧 vb,是一門語言,與c 同為物件導向的的語言,在實際的介面方面卻略有不同,他可以設定類似於按鈕 文字輸入框之類的東西 即物件 並且為這些單獨編寫 感覺還是挺有趣的 因為只是看了一會兒,所以就大致說一下 ...

vb鍵盤記錄

private sub timer1 timer dx鍵盤記錄 on error resume next static keyarray 255 as byte dim key count as integer,vkeycode as integer,vkeyasc as string di key...

學習記錄 稀疏陣列

int x newint 11 11 x 1 2 1 x 2 3 1 system.out.println 輸出原始陣列 for int a x system.out.println 轉換為稀疏陣列儲存 int sum 0 for int i 0 i 11 i system.out.println ...