Сделать сортировку стека методом простого выбора - C#
Формулировка задачи:
Привет всем))
Помогите пожалуйста с сортировкой стека методом простого выбора.
Стек есть а вот сам метод сортировки простым выбором не могу понять как надо его соединить со стеком =((
Вот стек
Листинг программы
- using System;
- using System.Text;
- namespace ConsoleApplication10
- {
- class Program
- {
- class Node
- {
- public int val;
- public Node next;
- public Node prev;
- }
- class Stack
- {
- Node root;
- Node top;
- public void Push(int _val)
- {
- if (root == null)
- {
- root = new Node();
- root.val = _val;
- top = root;
- }
- else
- {
- top.next = new Node();
- top.next.val = _val;
- top.next.prev = top;
- top = top.next;
- }
- }
- public int Pop(int _val)
- {
- int result;
- if (root == null)
- {
- Console.WriteLine("Error: stack is empty");
- }
- else if (root == top)
- {
- result = root.val;
- root = null;
- return result;
- }
- result = top.val;
- top = top.prev;
- top.next = null;
- return result;
- }
- Node ElementAt(int num)
- {
- if (root != null && num > -1)
- {
- int c = 0;
- Node current = root;
- while (c < num)
- {
- c++;
- current = current.next;
- }
- return current;
- }
- return null;
- }
- int Count()
- {
- int c = 0;
- if (root != null)
- {
- Node current = root;
- while (current != top)
- {
- c++;
- current = current.next;
- }
- c++;
- }
- return c;
- }
- public void Sort()
- {
- }
- public void Print()
- {
- if (root == null)
- {
- Console.WriteLine("Stack is empty");
- return;
- }
- Node i = root;
- while (i != top)
- {
- Console.Write(i.val.ToString() + " ");
- i = i.next;
- }
- Console.WriteLine(top.val.ToString());
- }
- }
- public static void Main(string[] args)
- {
- Stack stack = new Stack();
- stack.Push(5);
- stack.Push(3);
- stack.Push(7);
- stack.Push(2);
- stack.Push(1);
- stack.Print();
- stack.Sort();
- stack.Print();
- Console.ReadKey();
- Console.ReadKey();
- }
- }
- }
Решение задачи: «Сделать сортировку стека методом простого выбора»
textual
Листинг программы
- st.ToArray().ToList().Sort();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д