1.定義
? ? ? 將無序序列中的各元素依次插入到已經(jīng)有序的線性表中。
2.分析
? ? ? 在線性表中公罕,只包含第一個(gè)元素的子表顯然是有序表乍楚。接下來從線性表的第二個(gè)元素開始直到最后一個(gè)元素余境,逐次將其中的每一個(gè)元素插入到前面的有序表中。一般來說,假設(shè)線性表中前j–1個(gè)元素已經(jīng)有序友雳,現(xiàn)在要將線性表中第j個(gè)元素插入到前面的有序子表中催束,插入過程如下:
? ? ? 首先將第j個(gè)元素放到一個(gè)變量temp中,然后從有序子表的最后一個(gè)元素開始延蟹,往前逐個(gè)與temp比較评矩,將大于temp的元素依次向后移動(dòng)一個(gè)位置,直到遇到小于它的元素阱飘,此時(shí)就將temp插入到剛移出的空位置上稚照。若temp的值大于等于子表的最后一個(gè)元素,則將temp直接插入到子表的第j個(gè)位置。此時(shí)果录,有序子表的長度就變?yōu)閖了上枕。
? ? 當(dāng)然,考慮到程序的空間成本弱恒,我們可以改進(jìn)程序辨萍,以省去temp變量。
廢話不多說返弹,直接上圖: