四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

.net 反序題目的詳細(xì)解答第1/2頁(yè)

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

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

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

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

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

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

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

  只可惜,這樣的做法都復(fù)雜了一些。3種做法的時(shí)間復(fù)雜度均為O(end 主站蜘蛛池模板: 玛丽与魔女之花| 追捕渣滓洞刽子手电视剧全集在线观看| 白鹅课文| 刘浩存《一秒钟》舞蹈| 小娥| 我会读心术免费观看完整版| 眼光娘娘治眼病口诀| 盲道电影| 十八岁免费看的电视剧| 新红楼梦电视剧| a面b面| 色在线看| 初恋50次 电影| charlie sheen| 国产伦理女村支书| 自拍在线| 牛梦尧| 杨佑宁个人简历| 我的学生妈妈| 玛吉吉伦哈尔| 康斯但丁| 张国立主演电视剧全剧大全免费观看| 男男女女 电影| 植树看图写话| 大红一师| 土壤动植物的乐园教学反思| 李乃文电影| 流浪地球海报| 伸舌头接吻脱裤子| 迷斯拉| 出彩中国人第三季 综艺| 凤凰卫视资讯台直播| 蜂鸟演员表| 一年级下册语文期末测试卷可打印 | 等着你电影韩版| 七上语文背诵清单表| 饰演陈丽| 根在中原| 白皮书电影| 水儿武士电影完整免费观看| 接吻戏|