1071 數(shù)列有序

題目描述
一個非遞減有序的整型數(shù)組有n個元素,給定一個整數(shù)num,將num插入該序列的適當位置,使序列仍保持非遞減有序。
輸入
輸入有三行。第一行是一個正整數(shù)n(n<=1000)。第二行是n個整數(shù),第三行是待插入整數(shù)num。
輸出
輸出非遞減有序的n+1個整數(shù),數(shù)據(jù)之間用空格隔開。輸出占一行。

樣例輸入

樣例輸出


????????此題主要考查對數(shù)組的理解與掌握,而且重在對變量變化的考查,作為數(shù)組的第二題,仍然有一點難度,建議這個題有思路即可,并沒有特別經(jīng)典的地方。
????????【思路】
????????這個題在課本上有原題,簡單的再說一下思路:從數(shù)組的最后一個有效元素開始判斷,判斷插入數(shù)字是否小于最后一個有效元素,若是,則最后一個數(shù)字向后推一個,即? i+1。直到給插入數(shù)字找到合適位置,停止判斷,輸出這個數(shù)列。
????????課本主要為了讓你理解如何控制數(shù)組的變量變化,可能一開始不太理解,到后面做題多了理解就透徹一些。
????????我一開始的做法與課本有所不同,我的方法是從數(shù)組第一個數(shù)字和插入數(shù)字比大小,如果小于插入數(shù)字,直接進行輸出,否則就輸出插入輸入數(shù)字,然后用另外一個循環(huán)輸入這個數(shù)組剩余的數(shù)據(jù)。
????????【解答】
????????【解答2】
????????還有一種解法,魯棒性很強,即使面對非法數(shù)據(jù)的輸入,也依舊可以輸出正確答案,這個答案采用的是最為直接的排序,也不管你什么插入不插入,是不是非遞減數(shù)列,不僅不用擔心插入元素的位置,也不用考慮鍵盤輸入數(shù)據(jù)的問題。另外說明,這個答案的插入數(shù)據(jù)是直接放到數(shù)組有效元素的后面。
?????【此解答有up主同學給出,在此表示感謝】
