2012年12月4日 星期二

Visual C# 2010 陣列搜尋、拷貝、清除 - 20121203

陣列的搜尋:

  • Array.IndexOf( )方法:用來搜尋陣列中是否有符合的資料,若有找到就傳回該陣列元素的[註標值];若沒有找到的話,會傳回-1。     
          公式:Array.IndexOf( 陣列名稱 , 查詢資料  [ , 起始註標] [ , 查詢距離] );

※若找到傳回該陣列元素的註標值;相反的,若沒找到就回傳-1 。此陣列不必先經過排序,故每次搜尋資料都是由最前面開始,但資料量大時,查詢所花費時間會越多。

※使用Array.IndexOf( )方法來搜尋陣列中的資料,不必先經過排序,每次搜尋資料都是由最前面開始,當資料量大時,愈後面的資料查詢所花費的時間愈多,且資料的平均搜尋時間不平均。

範例:字串陣列 KK中有{"A","B","C","D","E","F"}六個陣列元素,若Str="E", Start=0 , Offset=2,
            其Array.IndexOf(KK , Str , Start , Offset)

結果:由標註1(=B)開始往下找3個陣列元素(=B、C、D),其內容是否有"E",傳回的值為-1。

  • Array.BinarySearch( )方法:使用之前陣列必須先經由小而大排序才可,此方法適用資料量大的陣列
          公式:Array.BinnarySearch( 陣列名稱 , 查詢資料 );

※此陣列必須先經過由小而大排序才可使用,適用於資料量大的陣列。

※使用Array.BinarySearch( )方法來二分化搜尋資料, 陣列必須先經過由小而大排序才可以使用,且此方法適用於資料量大的陣列中。


------------------------------------------------------------------------------------------------------

陣列的拷貝:

語法:Array.Copy( A , Aindex , B , Bindex , length );

  •          A:來源A陣列(被拷貝的陣列)。
  •  Aindex:來源A陣列的註標,由指定的註標開始複製。
  •          B:接收資料的目的B陣列。
  •  Bindex:目的B陣列的註標,由指定的註標開始儲存。
  •    length:複製的陣列元素個數。


陣列的清除:

語法:Array.Clear( A , Aindex , length );
  •          A:來源A陣列(被拷貝的陣列)。
  •  Aindex:來源A陣列的註標,由指定的註標開始清除。
  •    length:清除的陣列元素個數。

沒有留言:

張貼留言