版权声明:盗版必究 https://blog.csdn.net/jinxiul5/article/details/82012470
栈
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Stack<string> _name = new Stack<string>() ;
//元素入栈,就是向栈中添加元素
_name.Push ("小三");
_name.Push ("小四");
_name.Push ("小五");
_name.Push ("小六");
//获取stack 中的元素个数
int a= _name.Count ( );
//使用 Pop 出栈,并获取元素(元素在出栈后,栈中将不会在存有这个元素,相当于剪切出来,而不是复制)
//出栈是个方法,不能指定出栈的元素只能返回最上方的元素,也就是最后入栈的元素
//栈 符合后进先出的逻辑
//使用出栈,返回最最后入栈的元素并删除栈中的元素
string s =_name.Pop ( );
//使用Peek返回最后入栈的元素不删除栈中的元素
string s1 =_name.Peek ( );
//清空栈中的元素
_name.Clear ( );
}
}
}
队列
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//队列与栈不同遵循先进先出的原则
Queue<string> _name = new Queue<string> ( );
//入队列,向队列中添加元素
_name.Enqueue ("小三" );
_name.Enqueue ("小四");
_name.Enqueue ("小五" );
_name.Enqueue ( "小六");
//获取队列中的元素个数
int a=_name.Count ( );
//判断指定元素是否包含在队列中
bool b1=_name.Contains ("小三");
//出队列,使用Dequeue出队列会获取队列中最下方的元素,也就是先进入的元素,然后删除队列中的该元素
string a1= _name.Dequeue ( );
//使用peek 出队列,只会讲最下方的元素获取,不会将元素从队列中删除
string a2=_name.Peek ( );
//清空队列
_name.Clear ( );
}
}
}