栈和队列的用法【官方澳门新永利下载】

Delete 函数用于删除指定键对应的元素。和 RemoveAt 函数的区别是,Delete
函数只是将键对应的值清空,而不会将键也删除。

如果对类型 T
使用值类型,则编译器将特别针对该值类型生成 List 类的实现。这意味着不必对
List 对象的列表元素进行装箱就可以使用该元素,并且在创建大约 500
个列表

MinIndex 函数和 MaxIndex 函数用来返回最小的和最大的键。

//SortedList
System.Collections.SortedList list=new
System.Collections.SortedList();
list.Add(“key2”,2);
list.Add(“key1”,1);
for(int i=0;i<list.Count;i++)
{
 System.Console.WriteLine(list.GetKey(i));
}

GetAddress 函数用来获取键对应元素的地址。

 

GetCapacity 函数和 SetCapacity
函数用来获取或者调整数组或其中元素占用的内存空间。

 //声明一个List对象,只加入string参数
            List<string> names =
new List<string>();
            names.Add(“乔峰”);
            names.Add(“欧阳峰”);
            names.Add(“马蜂”);
            //遍历List
            foreach (string name in
names)
            {
               
Console.WriteLine(name);
            }
            //向List中插入元素
            names.Insert(2,
“张三峰”);
            //移除指定元素
           
names.Remove(“马蜂”);   

Object.HasKey

  //Dictionary
 表示键和值的集合。Dictionary遍历输出的顺序,就是加入的顺序,这点与Hashtable不同

Length 函数用来获取普通数组的长度。

 //HashTable
System.Collections.Hashtable table=new
System.Collections.Hashtable();
table.Add(“table1”,1);
table.Add(“table2”,2);
System.Collections.IDictionaryEnumerator
d=table.GetEnumerator();
while(d.MoveNext())
{
 System.Console.WriteLine(d.Entry.Key);
}

Object.InsertAt(Pos, Value1 [, Value2, ... ValueN])

 //SortedList类
 与哈希表类似,区别在于SortedList中的Key数组排好序的

Ptr := Object.GetAddress

           
//加入重复键会引发异常
                fruit.Add(1,
“苹果”);
                fruit.Add(2,
“桔子”);
                fruit.Add(3,
“香蕉”);
                fruit.Add(4,
“菠萝”);

Value := Object.Pop()

//数组
   int[] intArray1;
   //初始化已声明的一维数组
   intArray1 = new int[3];
   intArray1 = new
int[3]{1,2,3};
   intArray1 = new int[]{1,2,3};

HasKey 函数用来判断数组中是否有对应键。


Enum := Object._NewEnum()

元素之后,不对列表元素装箱所节省的内存将大于生成该类实现所使用的内存。

InsertAt 函数用于在数组的指定位置添加元素。

//Hashtable类 
  哈希表,名-值对。类似于字典(比数组更强大)。哈希表是经过优化的,访问下标的对象先散列过。如果以任意类型键值访问其中元素会快于其他集合。
   
GetHashCode()方法返回一个int型数据,使用这个键的值生成该int型数据。哈希表获取这个值最后返回一个索引,表示带有给定散列的数据项在字典中存储的位置。

Clone := Object.Clone()

  
//Queue
System.Collections.Queue queue=new
System.Collections.Queue();
queue.Enqueue(1);
queue.Enqueue(2);

Object.RemoveAt(Pos [, Length])

  Dictionary<int, string> fruit =
new Dictionary<int, string>();

通过以上的函数我们发现使用对象可以实现列表、栈和队列。

System.Console.WriteLine(stack.Peek());
while(stack.Count>0)
{
 System.Console.WriteLine(stack.Pop());
}

队列

队列可以用 Push、RemoveAt、Length 函数实现。

queue.Push 用于往队列尾部添加元素,queue.RemoveAt
用于从队列头部取出元素,queue.Length() 用于获取队列大小。

付费解决 Windows、Linux、Shell、C、C++、AHK、Python、JavaScript、Lua
等领域相关问题,灵活定价,欢迎咨询,微信 ly50247。

//Stack类 
 栈,后进先出。push方法入栈,pop方法出栈。

Length := Object.Length()

System.Console.WriteLine(queue.Peek());
while(queue.Count>0)
{
 System.Console.WriteLine(queue.Dequeue());
}

; 访问数组中键是 5 的值MsgBox, % array[5]; 访问数组中键是 "abc" 的值MsgBox, % array["abc"]; 修改 "abc" 键对应的值array["abc"] := "def"

  //List

; 不指定键的时候,即创建普通数组,键是 1 2 3array1 := ["a", "b", "c"]array2 := { "a" : "x", "b" : "y"}

//ArrayList
System.Collections.ArrayList list=new
System.Collections.ArrayList();
list.Add(1);
list.Add(2);
for(int i=0;i<list.Count;i++)
{
 System.Console.WriteLine(list[i]);
}

RemoveAt 函数用于删除数组指定位置的元素。

  Queue类 
  队列,先进先出。enqueue方法入队列,dequeue方法出队列。

发表评论

电子邮件地址不会被公开。 必填项已用*标注