中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

.net 反序題目的詳細解答第1/2頁

請將方法補充完整:
復制代碼 代碼如下:
static void Reverse(int[] array, int begin, int end)
{
...
}

Reverse方法的作用是將array數(shù)組中,從begin下標到end下標之間的元素反序一下,如一個數(shù)組初始值是[1, 2, 3, 4, 5, 6],begin為1,end為4,那么當調用了Reverse之后,array數(shù)組中的元素便依次成為[1, 5, 4, 3, 2, 6],其中從array[1]到array[4]之前的元素被反序了。此外補充一點……其實本不用補充:這個方法需要對傳入?yún)?shù)的正確性進行校驗,如果用戶調用該方法時傳入了非法的參數(shù),那么則需要拋出異常,并寫清原因。您可以使用您喜歡的語言來實現(xiàn):C#,VB,Java,Ruby,Python……但是請不要使用內置庫中已經(jīng)有的功能。:)

  很簡單,不是嗎?只可惜截止到目前,也只有1人給出了正確答案。如果您沒有做過這道題目,那么在查看下面的分析之前,不妨拿張紙拿支筆,寫下您的答案,然后再聽老趙慢慢講來…

主體邏輯
  這道題目的主題邏輯其實非常簡單。不就是把數(shù)組中的一部分反序嗎?不過從這一點上面來說,代碼的清晰程度也有較大差距。好的做法和普通的做法,從編程難度和理解上都有一定差距。例如:

1、許多朋友的做法是:既然是反轉數(shù)組的一部分元素,那么只要找到中間的位置,然后計算出和begin的偏移量,然后……怎么怎么一搞,就完成了――嗯,似乎還需要根據(jù)進行begin和end中間的元素個數(shù)是奇數(shù)還是偶數(shù)分別處理。

2、另一些朋友的做法是:開一個新數(shù)組(長度為end - begin + 1),將begin到end之間的元素放到新數(shù)組中去,然后反序,然后再復制回來。

3、還有一個朋友認為用棧:把begin到end之間的元素給push到棧中,再一個一個pop出來依次賦值給begin到end,這樣就反序了……唔!數(shù)據(jù)結構學的不錯!

  只可惜,這樣的做法都復雜了一些。3種做法的時間復雜度均為O(end 主站蜘蛛池模板: 国产精品一区二区在线 | 日韩免费三级 | 免费一级毛片 | 精产国产伦理一二三区 | a级片在线观看 | 瑟瑟视频在线看 | 91在线精品秘密一区二区 | 国产精品久久久久久久久久久免费看 | 亚洲高清在线 | 国产一级在线 | 中国美女一级黄色片 | 欧美一区二区三区精品免费 | 91精品国产91久久久久久最新 | 日韩欧美中文字幕在线观看 | 国产精品一区三区 | 久久国产视频网站 | 欧美日韩1区2区 | 免费99视频 | 精品国产高清一区二区三区 | 在线观看中文字幕 | 欧美日韩网站 | 欧美一级高潮片免费的 | 久久久.com | 亚洲人的av | 国产日韩欧美在线一区 | 午夜久久av | 欧美一区二区三区在线免费观看 | 国产一二三区电影 | 激情视频网站 | 欧美成人a∨高清免费观看 老司机午夜性大片 | 中文字幕一二三 | 91成人在线视频 | av天空 | 亚洲性视频在线 | 欧美一区二区三区在线观看 | 久久99这里只有精品 | 高清人人天天夜夜曰狠狠狠狠 | 九九热最新地址 | 男女羞羞视频在线看 | 极品销魂美女一区二区 | 久久亚洲一区二区三区四区 |