C#数据结构基本栈,队列操作
发布网友
发布时间:2022-04-07 11:02
我来回答
共1个回答
热心网友
时间:2022-04-07 12:31
你好,软糖来回答把。
代码如下
static void Main(string[] args) {
堆栈测试();
队列测试();
Console.ReadKey();
}
static void 堆栈测试() {
Stack<int> 栈 = new Stack<int>();
//正序初始化数组,倒序压入栈中。
int[] 数组 = { 5, 4, 8, 10, 9, 7, 6, 3, 2, 1 };
for (int i = 数组.Length - 1; i >= 0; i--) {
栈.Push(数组[i]);
}
//获取栈长度并循环输出
int 栈长度 = 栈.Count;
Console.WriteLine("栈当前长度{0}", 栈长度);
for (int i = 0; i < 栈长度; i++) {
Console.WriteLine("当前出栈内容{0}", 栈.Pop());
}
}
static void 队列测试() {
int 队列最大长度 = 10;
Queue<int> 队列 = new Queue<int>(队列最大长度);
int[] 队列数组 = { 1, 2, 3, 4, 5, 6, 7, 8 };
for (int i = 0; i < 队列数组.Length; i++) {
队列.Enqueue(队列数组[i]);
}
int 队列长度 = 队列.Count;
Console.WriteLine("队列最大长度{0}", 队列最大长度);
Console.WriteLine("队列当前长度{0}", 队列长度);
int 输入位置 = 4;
for (int i = 0; i < 队列长度 + 1; i++) {
Console.WriteLine("当前队列出队内容{0}", 队列.Dequeue());
if (i == 输入位置) {
bool 输入的是int = false;
while (输入的是int == false) {
Console.Write("请输入队列成员: ");
string 输入内容 = Console.ReadLine();
int 合法整数;
输入的是int = int.TryParse(输入内容, out 合法整数);
if (输入的是int) { 队列.Enqueue(合法整数); }
}
}
}
Console.WriteLine("当前队列为空");
}