非電腦專業的碼農C#學習筆記 五、數組和集合

來源:互聯網
上載者:User

標籤:io   ar   strong   for   檔案   資料   sp   問題   on   

數組和集合

1.數組問題Array

(1)一維數組:int[] arr={1,2,3,5,5} string[] s={s,l,s,g}

(2)二維數組:int[,] arr=new int[2,2]{{1,2},{3,4}}

              類型[,] 數組名=new 類型[行數(元素數),列數(元素的子項目數]{{元素1,元素2},{元素…},…,}

l  動態數組:類型[,] 數組名=new 類型[M,N],int M=””;int N=””;

l  查看內部元素:foreach(int n in arr){console.write(n);}

排序:曆遍法(冒泡);插入法;選擇排序(詳見p109,還有光碟片內容);Array.sort(arr)和;array.Reverse(arr)然後曆遍就能排序

int [] array = new int [*] ;

int temp = 0 ;

for (int i = 0 ; i < array.Length - 1 ; i++)

{

for (int j = i + 1 ; j < array.Length ; j++) //曆遍arr所有位置

{

if (array[j] < array[i])

{

temp = array[i] ;

array[i] = array[j] ;

array[j] = temp ;

}

}

}

書本:

    int[] arr = new int[] { 3, 9, 27, 6, 18, 12, 21, 15 };

            foreach (int m in arr)       

            int j, temp;

            for (int i = 0; i < arr.Length - 1; i++)

            {

                j = i + 1;

                id: //標識下面代碼是重複執行的過程,方便用goto繼續執行,而不用執行foreach主方法,即foreach執行i++一次,id由於goto可執行多次了

                if (arr[i] > arr[j])

                {

                    temp = arr[i];

                    arr[i] = arr[j];

                    arr[j] = temp;

                    goto id;

                }

                else

                    if (j < arr.Length - 1)

                    {

                        j++;

                        goto id;

                    }

            }

            foreach (int n in arr)

                Console.Write(n + " ");

        }

    }

}}

 

l   

l  拆分和組合:

兩個一維合成一維-int total=arr1.pength+arr2.length;int[,] totals=new int[total]{arr1arr2},arr1arr2的值:索引小於arr1則為arr1元素;大於arr1則為arr2元素

n個含有m個元素的一維轉n維-int[,] arrs=new int[n,m]{…};i<arrs.rank(<m),然後把一維的作為n維的某一層,switch(i),case 0:arrs[i,l]=arr1[j]….case1…case n…

拆分略詳見學習筆記檔案夾的“數組的拆分”專案檔夾

知識積累:console.write();一行中寫到控台;console.writeline()按照原來資料結構寫到控台上;

      Arr.length表示數組的長度,含有的列數和元素數量,arr.rank表示多為數組的層數和維數

2.數組的ArrayList類(重點)位於system.collections空間命名下,只能一維數組,不等於數組

(1)基本形式和屬性:

Arraylist alist=new arraylist(arr);int[,] arr=new int[3]{1,2,3},或者是指定元素數目後賦值

ArrayList alist=new ArrayList(3);for(int i=0;i<list.count;i++){list.add(i);}

ArrayList的屬性:ArrayList.capacity;容量元素數;count實際包含元素數量;

(2)元素的添加list.add(需要在ArrayList最後元素插入的元素值);list.Insert(從零開始插入的位置,插入的內容)

(3)元素的刪除:list.clear()無參數刪除所有;list.remove(某個元素);

                 list.removet(第幾個位置);list.moveRange(開始位置,需要刪除的元素個數);

(4)ArrayList的曆遍方法:foreach….                               

(5)尋找特定元素:list.contains(要尋找的內容或者元素);

3.集合問題----雜湊表hashtable

HashTable hst=new HashTable();

hst.add(鍵-列名,值);

hst.clear();//全部刪除所有的鍵

hst.remove(鍵-列名);

hst.contains(鍵-列名);//尋找有無特定的鍵,不含值

hst.containsvalue(值)//*尋找有沒有特定的值,不含鍵位

不多說,個人感歎數學不太好,應對一些實際問題時候,或多或少會有影響。

非電腦專業的碼農C#學習筆記 五、數組和集合

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.