程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 第一章 介紹集合,泛型和計時器類--02

第一章 介紹集合,泛型和計時器類--02

編輯:.NET實例教程

雖然在.Net環境中很多元素被實現為類(比如數組和字符串),但幾個主要的語言元素被實現為結構體,比如數字數據類型。Integer數據類型是一個Int32結構體。您可以使用Int32的Parse方法把一個由數字字符組成的字符串轉換為整數。這裡有一個例子: 

using System;
public class IntStruct
{
    static void Main()
    {
        int num;
        string snum;
        Console.Write("Enter a number: ");
        snum=Console.ReadLine();
        num=Int32.Parse(snum);
        Console.WriteLine(num);
    }
}

順序存取集合

一個順序存儲集合是一個按順序存儲它的元素的列表。我們把這種集合類型稱之為線性表。線性表在被創建時並不需要限定它的尺寸,這意味著它可以動態地擴大或縮小。線性表中的項目不能被直接訪問;它們通過所處的位置進行關聯,如圖1.2所示,線性表的第一個元素在列表的前端,而最後一個元素在列表的後端。

由於線性表中的每一個元素並不能直接存取,所以要訪問一個元素,你不得不貫穿列表直到到達您所尋找的元素的位置。線性表通常允許執行兩種貫穿列表的方法-----一種是按從前到後的方向,另一種是既可以從前到後,也可以從後到前。

一個簡單的線性表的例子是商品清單。清單一項接著一項地寫下,直到完成。當被購買的每一個項目被找到時,它們將被移除。

線性表既可以是有序的,也可以是無序的。一個順序表擁有相互間按順序關聯的值,如:

Beata Bernica David Frank Jennifer Mike Raymond Terrill

無序表由按任意順序排列的元素組成。在順序表和無序表中查找數據時將會有極大地不同,關於這一點可以在第2章探討位搜索算法和簡單線性表搜索時了解到。

某些線性表類型會限制元素的訪問,比如棧和隊列。棧是一種只能訪問頂端元素的列表。項目只能被放於列表的頂端,並且只能從最頂端開始刪除。由於這個原因,棧被稱為“後進先出”的結構。當往棧中添加一個項目的操作被稱為進棧(push),往棧中刪除一個項目的操作被稱為出棧(pop)。圖1.3演示了這兩種操作。

棧是一種很常用的數據結構,特別在計算機系統程序中。在很多應用程序中,棧用於賦值表達式和符號匹配。

隊列是一種只能從底端添加項目,從頂端刪除項目的列表。這種表類型被稱為“先進先出”結構。添加項目的操作被稱為進隊(EnQueue),刪除項目的操作被稱為出隊(Dequeue)。隊列的操作如圖1.4所示:

    隊列也應用於系統程序,如任務調度系統及計算機仿真研究等,在模擬各種可能的購物排隊情況時隊列成為一種非常好的數據結構。一種特殊類型的隊列叫優先隊列。允許隊列中擁有最高優先級的項目優選被刪除。優先隊列可以用於醫院緊急病房的研究。例如心髒病突發的病人比手臂受傷的病人更需要護理。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved