C# 和 js中的栈、队列

三世轮回 提交于 2020-01-25 01:47:12

 

一、C# 中的栈队列用法

  C#:  queue.Dequeue() 从队列中删除第一个元素并返回它

  js: array.shift(); 从数组中删除第一个元素并返回它

 1  static void Main(string[] args)
 2         {
 3             // 队列
 4             // 先进后出
 5             Queue<int> queue = new Queue<int>();
 6             Console.Write($"加入队列:");
 7             for (int i = 0; i < 10; i++)
 8             {
 9                 Console.Write($" {i} ");
10                 queue.Enqueue(i); // 在队里结尾加上一个元素
11             }
12             Console.WriteLine();
13             Console.Write("队列输出:");
14             while (queue.Count > 0)
15             {
16                 Console.Write($" {queue.Dequeue()} ");// 取出队里第一个元素并从队里中删除它
17                 
18             }
19 
20             // 栈 
21             // 先进先出
22             Stack<int> stack = new Stack<int>();
23             Console.WriteLine();
24             Console.WriteLine();
25             Console.Write($"入栈:");
26             for (int i = 0; i < 10; i++)
27             {
28                 Console.Write($" {i} ");
29                 stack.Push(i);
30             }
31             Console.WriteLine();
32             Console.Write("出栈:");
33             while (stack.Count > 0)
34             {
35                 Console.Write($" {stack.Pop()} ");
36             }
37         }

二、js 中的 栈队列

在js中栈队列都是用数组来实现的

shift()方法:移除数组中的第一项并返回该项

push()方法:从数组末端添加项

若是想实现相反的操作的话,可以使用

unshift()方法:在数组的前端添加项

pop()方法:从数组末端移除项

如:

 1 var list=[];
 2 // 以栈模式使用 list 
 3 list = innitList();
 4 showList(list);
 5 function innitList()
 6 {
 7    for(var i=0;i<10;i++)
 8   {
 9     list.push(i);
10    }
11    return list;
12 }
13 function showList(list)
14 {
15    document.write(list.shift() + "<br />");
16    if(list.length > 0)
17    showList(list);
18    
19 }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!