There are many sorting algorithms that can sort a list of numbers in ascending or descending order. Some common sorting algorithms include bubble sort, merge sort, and quicksort. Bubble sort has a computational complexity of O(n2) while merge sort and quicksort have better complexities of O(n log n). Stack and queue are abstract data types - stack follows LIFO (Last In First Out) while queue follows FIFO (First In First Out). Stack adds and removes elements from the top of the data structure, while queue adds to the tail and removes from the head.