ruby Ruby的算法和数据结构 - #1插入排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby Ruby的算法和数据结构 - #1插入排序相关的知识,希望对你有一定的参考价值。

#Algorithm and Data Structures
# More details: http://www.theodinproject.com/ruby-programming/common-data-structures-and-algorithms

# Implementation of Insertion Sort.

# Insertion Sort ************************
# Insertion Sort -> A popular quadratic sorting algorithm with O(n^2) complexity
def insertionSort(arr)
    for size in 2..arr.length
        # Remember, this is a zero-start array
        element = arr[size-1]   

        # Bring this element down to its appropriate position
        # elements[0] ... elemets[size-2] are already in a sorted order
        index = size - 2
        while(index >= 0) && (element < arr[index])
            arr[index + 1] = arr[index]
            index-=1
        end
        arr[index+1] = element
    end
        
end

puts "Original Array :"
original_array=[2,19,5,4,3,14,2]
p original_array
puts "Sorted Array Using Insertion Sort:"
insertionSort(original_array)
p original_array

=begin
Sample Output :
puts "Original Array :"
original_array=[2,19,5,4,3,14,2]
p original_array
puts "Sorted Array Using Insertion Sort:"
insertionSort(original_array)
p original_array
=end

以上是关于ruby Ruby的算法和数据结构 - #1插入排序的主要内容,如果未能解决你的问题,请参考以下文章

ruby Ruby的算法和数据结构 - #6队列

ruby Ruby的算法和数据结构 - #8二叉树

ruby Ruby的算法和数据结构 - #7 LinkedList

ruby Ruby的算法和数据结构 - #5 Stack

ruby Ruby的算法和数据结构 - #3快速排序

ruby Ruby的算法和数据结构 - #2选择排序