久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

數(shù)組的常用方法例題,復(fù)習(xí)數(shù)組

 賈朋亮博客 2010-12-12

數(shù)組的常用方法

     上一節(jié)我提到了方法就是對象所具有的功能,,一般是動詞,,比如抹布清除灰塵,清除就是它的功能,,同樣數(shù)組也有各種功能方法,比如清空,、查找,、排序等,這三個方法是本節(jié)的學(xué)習(xí)重點(diǎn),,我會逐一講解,。首先,我們來學(xué)習(xí)一下

數(shù)組的清空Array.Clear(Arrayname, int  index,  int  length);
          (操作的數(shù)組名,,起始索引,,清除元素的長度)
看下面的例子

            int[] arr = new int[] {1,2,3,4,5};
            foreach (int i in arr)
            {
                Console.WriteLine(i);
            }                              
                Array.Clear(arr, 1, 2); 
             Console.WriteLine(“從1號索引開始清除2個元素后的數(shù)組長度"+arr .Length );         
          foreach (int i in arr)
            {
                Console.Write(i+"  ");
            }

提問:同學(xué)們想一下結(jié)果輸出是什么樣子的?結(jié)果是:從1號索引開始清除2個元素后的數(shù)組長度5

                                                                   1  0  0  4  5.  

 而不是1  4  5,。原因是什么呢,?這是由于數(shù)組的特性,數(shù)組的大小一旦初始化了就已經(jīng)確定了,因此數(shù)組元素的清空只是將部分元素設(shè)置回了0,、False或Null,,這和數(shù)組元素的類型有關(guān),但是數(shù)組的長度依然沒有變化,。

接下來我們來學(xué)習(xí)一下數(shù)組的查找

Array.IndexOf(Array,obj);查找arr數(shù)組中第一個出現(xiàn)obj元素的索引
Array.LastIndexOf(arr,obj);查arr找數(shù)組中最后一個出現(xiàn)obj元素的索引

           int[] arr = new int[] { 3, 2, 1, 5, 2 ,4};
            foreach (int i in arr)
            {
                Console.WriteLine(i);
            }
            int z=Array.IndexOf(arr, 2);
            int j=Array.LastIndexOf(arr,2);

            Console.Write("第一次出現(xiàn)2的索引位:"+z);
            Console.WriteLine("最后一次出現(xiàn)2的索引位:" +j);

結(jié)果是 第一次出現(xiàn)2的索引位:1 最后一次出現(xiàn)2的索引位:4   結(jié)果與事實(shí)吻合,,c#提供的Array.IndexOf和Array.LastIndexOf方法還提供了兩種方法:

Array.IndexOf(Array,obj,beginIndex);開始查詢的索引位。

Array.IndexOf(Array,obj,beginIndex,count);起始查詢的索引位,,索引往大的方向累加查詢數(shù),。

Array.LastIndexOf(Array,obj,beginIndex);開始查詢的索引位。

Array.LastIndexOf(Array,obj,beginIndex,count);起始查詢的索引位,,索引往小的方向累加查詢數(shù),。

接著上面的例子

            int b = Array.IndexOf(arr, 2, 1, 4);
            int l = Array.LastIndexOf(arr,2,4,4);

            Console.WriteLine("從1號索引位開始的往大的索引數(shù)4個元素中第一次出現(xiàn)2的索引位:" + b);
            Console.WriteLine("從4號索引位開始的往小的索引數(shù)4個元素中最后一次出現(xiàn)2的索引位:" + l);

運(yùn)行結(jié)果為:

      利用索引查詢在實(shí)際項(xiàng)目中經(jīng)常會被使用,比如在網(wǎng)站中編寫上傳圖片時需要判斷上傳文件的擴(kuò)展名,,就需要用到LastIndexOf("\\")在上傳文件 的路徑中,,查找出索引位后,利用截取方法(在今后的字符串處理章節(jié)中將學(xué)到)把文件路徑中最后一個“\”后的擴(kuò)展名截取下來,,再判斷是否為合法圖片格式,; 還有在網(wǎng)頁上顯示新聞時,會用才第幾個字以后用"……"代替,,省略了其后的文字,,也是用查找索引位來達(dá)到的,同學(xué)們一定要掌握這種方法,。另外說到這同學(xué)們 一定覺得疑惑,,存儲文件路徑或新聞內(nèi)容時一般是用string類型的變量,不是數(shù)組呀,,怎么用到索引呢,?我要告訴大家,string類型不是值類型,,而是 引用類型,,可以把string類型的變量看出是char類型的數(shù)組,索引string類型的變量可以用到索引,。

下面我們來學(xué)習(xí)一下數(shù)組的排序

       在c語言中,,排序是利用冒泡原理,這種排序非常的麻煩,,而實(shí)際應(yīng)用中會經(jīng)常應(yīng)用到數(shù)組的排序,。C#就提供了用于排序的兩種算法:

Array.Sort(arr);用于對一維Array對象中的元素由小到大默認(rèn)進(jìn)行排序
Array.Reverse(arr);反轉(zhuǎn)一維arr
Array.Sort(arr,beginIndex,count);用于對一維Array對象部分中的元素進(jìn)行排序,從beginIndex索引開始,操作count個元素
Array.Reverse(arr,beginIndex,count);反轉(zhuǎn)一維arr或部分arr中元素的順序,,從beginIndex索引開始,,操作count個元素

 例:     int[] arr = new int[] { 3, 1, 5, 4, 2 };
            Console.WriteLine("原數(shù)組元素順序:");
            foreach (int i in arr)
            {
                Console.Write(i+"   ");
            }
            Console.WriteLine("");
            Array.Reverse(arr);
            Console.WriteLine("反轉(zhuǎn)數(shù)組元素:");
            foreach (int i in arr)
            {
                Console.Write(i + "   ");
            }
            Console.WriteLine("");
            Array.Sort(arr);
            Console.WriteLine("排序后的數(shù)組元素:");
            foreach (int i in arr)
            {
                Console.Write(i + "   ");
            }
            Console.WriteLine("");
            Array.Reverse(arr, 2, 2);
            Console.WriteLine("對數(shù)組中從第2索引位對2個元素進(jìn)行逆序排序:");
            foreach (int i in arr)
            {
                Console.Write(i + "   ");
            }
            Console.WriteLine("");

            Array.Sort (arr,2,2);
            Console.WriteLine("對數(shù)組中從第2索引位對2個元素進(jìn)行排序:");
            foreach (int i in arr)
            {
                Console.Write(i + "   ");
            }
            Console.WriteLine("");

結(jié)果如下

 

 


 

以上就是數(shù)組常用的方法,,大家要熟練掌握,下面我通過幾道問答題大家一起來回顧一下這3節(jié)有關(guān)數(shù)組的學(xué)習(xí),。

1.數(shù)組用來存儲各種類型的數(shù)據(jù),,想一想數(shù)組中的數(shù)據(jù)內(nèi)容有幾種賦值方式?

答:初始化時可以賦值,、根據(jù)索引進(jìn)行賦值,。

2.交錯數(shù)組與一般規(guī)則的數(shù)組最大的差異是什么?如何遍歷交錯數(shù)組,?

答:交錯數(shù)組是每行中的列都不一定相同的二維數(shù)組,,遍歷元素時需要先變量出行,再在行中遍歷出列,。

3.聲明一個存儲A,、B、C,、D,、E等5個英文的數(shù)組對象,將其取出合并輸出如ABCDE,。

4.創(chuàng)建一個二維數(shù)組,,并且在控制臺輸出以下內(nèi)容:

    02  04  06

    08  10  11

    12  14  16

5.利用一個二維數(shù)組存儲3名同學(xué)的語文成績及數(shù)學(xué)成績,提示用戶輸入學(xué)生編號,,語文及數(shù)學(xué)成績,,并將結(jié)果顯示給用戶。并將語文不及格的學(xué)生學(xué)號顯示出來,,如果不存在語文不及格的學(xué)生,,則顯示“語文考試全部通過”。
              int[,] cj=new int [3,3];
            int i;
            for (i = 0; i <3;i++ )
            {
                Console.Write("請輸入第{0}位學(xué)生的學(xué)生編號:",i+1);
                cj[i, 0] = Convert.ToInt32(Console.ReadLine());
                Console.Write("請輸入此學(xué)生的語文成績:");
               cj[i,1]=Convert .ToInt32 (Console.ReadLine());
                Console.Write("請輸入此學(xué)生的數(shù)學(xué)成績:");
                cj[i,2]=Convert .ToInt32 (Console.ReadLine());
                Console.WriteLine("*********************************");
            }
            for (i = 0; i <3;i++)
            {
                Console.WriteLine("請輸出第{0}位學(xué)生的學(xué)生編號:{1},,語文成績:{2},數(shù)學(xué)成績:{3}", i + 1, cj[i,0], cj[i,1], cj[i,2]);
             }
             Console.WriteLine("*********************************");
             bool bj = false ;
             i = 0;
             while (i < 3)
             {
                 if (cj[i, 1] < 60)
                 {
                     Console.WriteLine("不及格學(xué)生的學(xué)號為:{0}", cj[i, 0]);
                     bj = true;
                 }
                 i++;
             }
             if (bj != true)
             {
                 Console.WriteLine("語文成績?nèi)考案瘢?);
             }

    現(xiàn)在的程序有個問題,,就是學(xué)號允許重復(fù),而且代碼有點(diǎn)多,,主要是讓你們看了簡明扼要,,以后再學(xué)習(xí)哈希表時可以有效的避免這個問題。下一節(jié)我們就學(xué)習(xí)一下動態(tài)數(shù)組,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多