亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 教學--第18章 數組(三) ---- 最值與排序.htm

?? C++的入門書籍。文字簡單有趣,通俗易懂。
?? HTM
?? 第 1 頁 / 共 4 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0045)http://d2school.com/bcyl/bhcpp/newls/ls18.htm -->
<HTML><HEAD><TITLE>教學--第18章 數組(三) ---- 最值與排序</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>P {
	MARGIN: 1px 2px; LINE-HEIGHT: 150%
}
.節標題 {
	FONT-WEIGHT: bold; FONT-SIZE: 12pt
}
TD {
	FONT-SIZE: 9pt
}
.tdtitle {
	FONT-SIZE: 20pt
}
.celltopline {
	BORDER-TOP: #000000 1px solid
}
.menucell {
	FONT-SIZE: 10pt
}
#glowtext {
	FONT-SIZE: 10pt; FILTER: glow(color=red,strength=1); WIDTH: 100%
}
A:link {
	FONT: 10pt 宋體; COLOR: blue; TEXT-DECORATION: none
}
A:visited {
	FONT: 10pt 宋體; COLOR: purple; TEXT-DECORATION: none
}
A:active {
	FONT: 10pt 宋體; COLOR: red; TEXT-DECORATION: underline
}
A:hover {
	COLOR: blue; TEXT-DECORATION: underline
}
</STYLE>

<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY leftMargin=0 topMargin=3 ?>
<P> </P>
<CENTER>
<TABLE height=105 cellSpacing=4 cellPadding=4 width=760 border=0>
  <TBODY>
  <TR>
    <TD 
    style="FONT-SIZE: 10pt; TEXT-INDENT: 20px; LINE-HEIGHT: 150%; FONT-FAMILY: &Euml;&Icirc;&Igrave;&aring;" 
    width="100%" height=210>
      <H2>第十八章 數組(三) ---- 數組的最值與排序</H2>
      <P> </P>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls18.htm#18.1">18.1 
      求數組中的最大值</A></P>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls18.htm#18.1.1">18.1.1 
      基本思路與實現</A></P>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls18.htm#18.1.2">18.1.2 
      實例</A></P>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls18.htm#18.2">18.2 
      將數組元素排序</A></P>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls18.htm#18.2.1">18.2.1 
      現實算法與程序算法的不同</A></P>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls18.htm#18.2.2">18.2.2 
      冒泡排序</A></P>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls18.htm#18.2.3">18.2.3 
      選擇排序</A></P>
      <P>&nbsp; <A 
      href="http://d2school.com/bcyl/bhcpp/newls/ls18.htm#18.2.4">18.2.4 快速排序 
      (選修)</A></P>
      <P><A href="http://d2school.com/bcyl/bhcpp/newls/ls18.htm#18.3">18.3 
      小結</A><BR> </P>
      <P>什么叫程序?隨著我們學習的不斷進展,這個問題的答案不斷有新的表述。</P>
      <P>今天,我們學過了“流程”,也學過了“數據類型”。</P>
      <P>“流程”表達某種動作或操作的過程;“數據”表達現實生活的事物。因此,程序自然可以表達為“通過流程控制,來對數據進行正確的處理”。其實這一句話,也可以用兩個字來代替“算法”。</P>
      <P>事實上有一個著名的公式,說:程序 = 數據結構 + 算法。</P>
      <P> </P>
      <P>要想真正理解什么叫算法,最好的辦法還是從我們的現實生活入手。</P>
      <P> </P>
      <P>最常見的例子,就是給整理撲克牌了。給你一付打亂的撲克牌,然后讓你把它們整理,就是讓你排序。結果是:前四張是:黑桃A,紅心A,草花A、方塊A,然后是2,3……老K,最后是大小王兩張。&nbsp; 
      </P>
      <P>這個過程使用的是“排序”算法。</P>
      <P> </P>
      <P>更簡單的,給你3張牌,讓你找出其中最大的一張,這也需要一種算法。稱為“求最值”。</P>
      <P> </P>
      <P>你會說,這也算“算法”,3張牌往桌子上一擺,我“一眼”就能找出哪一張最大啊,我的大腦好像沒有進行過任何計算。呵呵,這樣說可就不對了。你把這三張牌往一頭豬前面擺,擺上三年它也找不出哪一張是最大的。這可以證明,我們的大腦的確進行了一定的演算。</P>
      <P> </P>
      <P>一套相同的算法,其實是連續的一段“流程控制”。可以用在不同的數據上。比如排序算法,我們可以用于整理撲克,也可以用于排出學員成績的名次,而不這兩樣數據的數據結構是什么。但是一套算法在實現時,針對不同數據結構,有不同的實現。</P>
      <P> </P>
      <P>這一章主要就是講兩種算法在數組上的實現,這兩種算法是:“求最值”、“排序”。</P>
      <P> </P>
      <H3><B><A name=18.1>18.1</A><SPAN lang=en-us> </SPAN>求數組中的最大值</B></H3>
      <P>數組含有許多元素,這些元素如果是可以比較大小的,那就常常需要一種計算,求出這些元素中的最大值或最小值。求最值的算法應用在方方面面,比如:如何找出一條街上你喜歡的那某裙子最便宜賣的那家店。比如當早上第四節下課鈴敲響后,如何找出從教室到食堂最近的一條路等等。</P>
      <H4><SPAN lang=en-us><A name=18.1.1>18.1.1</A> </SPAN>基本思路與實現</H4>
      <P>我想大家都知道了,一到要講實例,我舉的例子就是“成績管理”。“煩不煩呢?”我看到有些同學使勁撇嘴。可不能煩啊,上一章的成績管理中,“求成績第一名”和“成績排序”這樣重要的功能還沒實現呢。本章的作業就是它們了。</P>
      <P> </P>
      <P>比如有這么一個數組,用于存儲幾個學生成績。現在老師想找出其中的第一名。</P>
      <P> </P>
      <P><SPAN lang=en-us>int cj[] = {80,67,76,87,78};</SPAN></P>
      <P> </P>
      <P>我們還是一眼“找”出了結果:87。但如果不是5個成績,而是5萬個成績呢(比如首鋼的工人進行考試的結果)?我們就不能一眼看出,而是不斷地從一個個成績里搜尋那個最大值。不管是5萬還是5個,其實算法是一樣的。</P>
      <P> </P>
      <P>冰心老奶奶舉了個例子:同樣是從動物園回來,有的小學生寫出讓你如臨其境的作文,而有的小學生則像是沒有去過動物園一樣,寫得干巴巴的。</P>
      <P> </P>
      <P>在把你的解決問題的思路轉化為程序代碼的過程中,顯然第一步應該做是你能夠用自然語言清楚地,準確地表達出你的思路。有些人能做好這一點,而有些人則表達得相當困難,仿佛他不會解決問題。</P>
      <P> </P>
      <P>當然這是一個雙向鍛煉的過程,如果你原來在這方面不擅長,跟著我在這里學習編程,慢慢的你會發現自已不僅學會也寫程序,而且學會了如何表達自已的想法、思路、情感……很多人說學習編程是一件快樂的事,很多人沉迷于編程,其中的一點奧妙,他們都不肯“泄密”,我泄密了。</P>
      <P> </P>
      <P>言歸正傳。大家提起精神來!</P>
      <P> </P>
      <P>求最大值是一個“比較”的過程。我們就說5個數的情況,看看如何找出5個數中的最大值:</P>
      <P> </P>
      <P><SPAN lang=en-us>2</SPAN>、3、1、4、0</P>
      <P> </P>
      <P>為了方便表達,我們用 N 來表示最大值。</P>
      <P> </P>
      <P>1、首先假設第一個數就是最大值,則 N<SPAN lang=en-us> = 2;</SPAN></P>
      <P>2、把N和第二個數比較,發現<SPAN lang=en-us> 3</SPAN> 比 <SPAN lang=en-us>N</SPAN> 
      大,于是讓 N <SPAN lang=en-us>= 3;</SPAN></P>
      <P>3、把N和第三個數比較,發現<SPAN lang=en-us> </SPAN>1 不比 N 大,于是N不變。</P>
      <P>4、把N和第四個數比較,發現<SPAN lang=en-us> </SPAN>4 比 <SPAN lang=en-us>N</SPAN> 
      大,于是讓 N <SPAN lang=en-us>= </SPAN>4<SPAN lang=en-us>;</SPAN></P>
      <P>5、把N和第五個數比較,發現<SPAN lang=en-us> </SPAN>0 不比 <SPAN lang=en-us>N</SPAN> 
      大,于是N不變<SPAN lang=en-us>;</SPAN></P>
      <P> </P>
      <P>求五個數的最大值,我們用了五行話表達,如果求100個數的最值呢?要比較99次,豈不是要寫100行?按照它的表達,我們寫成的代碼是:</P>
      <P> </P>
      <P><SPAN lang=en-us>int n[5] = {2,3,1,4,0};</SPAN></P>
      <P> </P>
      <P><SPAN lang=en-us>int N = n[0];</SPAN></P>
      <P> </P>
      <P><SPAN lang=en-us>if(N &gt; n[1])</SPAN></P>
      <P><SPAN lang=en-us>&nbsp; N = n[1];</SPAN></P>
      <P><SPAN lang=en-us>if(N &gt; n[2])</SPAN></P>
      <P><SPAN lang=en-us>&nbsp; N = n[2];</SPAN></P>
      <P><SPAN lang=en-us>if(N &gt; n[3])</SPAN></P>
      <P><SPAN lang=en-us>&nbsp; N = n[3];</SPAN></P>
      <P><SPAN lang=en-us>if(N &gt; n[4])</SPAN></P>
      <P><SPAN lang=en-us>&nbsp; N = n[4];</SPAN></P>
      <P> </P>
      <P>這可不叫“算法”。所以前面的表達并沒有說出真正的算法。我們要改進它。</P>
      <P> </P>
      <P>1、首先假設第一個數就是最大值,則 N<SPAN lang=en-us> = 2;</SPAN></P>
      <P>2、把N和下一個數比較,<FONT color=#ff0000>如果</FONT>下一個數比N大,則讓N等于該數<SPAN 
      lang=en-us>;</SPAN></P>
      <P>3、<FONT color=#ff0000>重復</FONT>第二步,直到沒有下一個數。</P>
      <P> </P>
      <P>明白了嗎?算法就是這樣而來的。第一,這三行話可以適用于無論多少個數求最大值的情況,這是你的算法是否正確的一個必要條件,如果你的算法表達的長短依賴于具體數據的個數,那么你的算法不是通用的算法,不管是否能解決問題。第二,我們在表達中看到了“如果”,看到“重復”,很好,“如果”就是“分支流程”,就是<SPAN 
      lang=en-us>if</SPAN>或<SPAN lang=en-us>switch</SPAN>;而“重復”就是“循環流程”,是<SPAN 
      lang=en-us>for </SPAN>或 <SPAN lang=en-us>while </SPAN>或<SPAN lang=en-us> 
      do...while</SPAN>。</P>
      <P> </P>
      <P><SPAN lang=en-us>int n[5] = {2,3,1,4,0};</SPAN></P>
      <P> </P>
      <P><SPAN lang=en-us>int N = n[0];</SPAN></P>
      <P> </P>
      <P><SPAN lang=en-us><FONT color=#ff0000>for</FONT>( int i = <B><FONT 
      color=#0000ff>1</FONT></B>; i &lt; 5; i++)</SPAN></P>
      <P><SPAN lang=en-us>{</SPAN></P>
      <P><SPAN lang=en-us>&nbsp;&nbsp; <FONT color=#ff0000>if</FONT>(n[i] &gt; 
      N)</SPAN></P>
      <P><SPAN lang=en-us>&nbsp;&nbsp;&nbsp;&nbsp; N = n[i];</SPAN></P>
      <P><SPAN lang=en-us>}</SPAN></P>
      <P> </P>
      <P>循環從數組下標1開始,因為從算法的表述中,我們也看到了,N一開始就等于數組中的第一個數,而后和“下一個數”開始比較。</P>
      <P>我們可以把代碼改良,以讓它方便于應用在任何個數的元素上。</P>
      <P> </P>
      <P><SPAN lang=en-us>int n[] = {2,3,1,4,0};</SPAN></P>
      <P> </P>
      <P><SPAN lang=en-us>int N = n[0];</SPAN></P>
      <P> </P>
      <P><SPAN lang=en-us>int count = sizeof(n) / sizeof(n[0]);</SPAN></P>
      <P> </P>
      <P><SPAN lang=en-us><FONT color=#ff0000>for</FONT>( int i = <B><FONT 
      color=#0000ff>1</FONT></B>; i &lt; count; i++)</SPAN></P>
      <P><SPAN lang=en-us>{</SPAN></P>
      <P><SPAN lang=en-us>&nbsp;&nbsp; <FONT color=#ff0000>if </FONT>(n[i] &gt; 
      N)</SPAN></P>
      <P><SPAN lang=en-us>&nbsp;&nbsp;&nbsp;&nbsp; N = n[i];</SPAN></P>
      <P><SPAN lang=en-us>}</SPAN></P>
      <P> </P>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看日产精品| 欧美精品tushy高清| 色猫猫国产区一区二在线视频| 色偷偷成人一区二区三区91| 欧美图区在线视频| 久久看人人爽人人| 一区二区三区鲁丝不卡| 久久精品国产一区二区| 99久久婷婷国产综合精品电影| 欧美日韩国产色站一区二区三区| 精品噜噜噜噜久久久久久久久试看| 国产精品久久久久久久久久免费看| 日韩电影在线观看网站| 99精品一区二区| 久久一区二区三区四区| 午夜欧美一区二区三区在线播放| 国产精品资源在线观看| 欧美疯狂做受xxxx富婆| 亚洲天天做日日做天天谢日日欢 | 国产亚洲欧美中文| 国产欧美日韩综合精品一区二区 | 5566中文字幕一区二区电影 | 日韩一区二区在线免费观看| 欧美激情综合网| 男男成人高潮片免费网站| 色噜噜狠狠成人网p站| 久久精品视频一区二区| 日本亚洲三级在线| 欧美在线视频不卡| 欧美网站大全在线观看| 国产精品色眯眯| 精品一区二区三区在线播放视频| 91麻豆免费视频| 中文一区在线播放| 国产精品一区二区久久不卡| 欧美性色欧美a在线播放| 国产欧美va欧美不卡在线 | 久久午夜电影网| 蜜臀av一级做a爰片久久| 欧美日韩精品高清| 亚洲高清三级视频| 91黄视频在线观看| 一区二区三区在线观看动漫| 一本大道av伊人久久综合| 亚洲欧洲日韩av| 成人sese在线| 中文字幕精品综合| 国产**成人网毛片九色 | 国产精品久久久久影院| 国产精一区二区三区| 精品美女一区二区| 黄色日韩三级电影| 欧美精品一区二| 国产精品性做久久久久久| 久久综合网色—综合色88| 国产一区在线观看麻豆| 久久亚洲捆绑美女| 国产99久久久国产精品潘金网站| 国产婷婷色一区二区三区在线| 国产精品18久久久久| 久久久国际精品| 粉嫩久久99精品久久久久久夜| 国产精品视频九色porn| 国产成人av电影| 亚洲激情自拍偷拍| 4hu四虎永久在线影院成人| 青青青爽久久午夜综合久久午夜| 精品国产一区二区亚洲人成毛片| 国产传媒久久文化传媒| 国产精品成人免费在线| 欧美在线免费观看视频| 偷拍一区二区三区四区| 欧美精品一区二区三区久久久| 成人av影院在线| 亚洲一二三四在线观看| 精品久久人人做人人爽| 99久久免费国产| 日韩精品乱码av一区二区| 精品免费日韩av| 一本大道久久a久久综合| 麻豆91在线播放| 国产精品久久久久久久久图文区 | 国产精品国产成人国产三级| 在线观看免费成人| 久久精品二区亚洲w码| 国产精品嫩草99a| 欧美日韩亚洲国产综合| 国产精品系列在线播放| 亚洲制服丝袜av| 久久久综合视频| 欧美美女一区二区三区| 国产精品亚洲成人| 午夜精品一区二区三区电影天堂| 精品久久久久久综合日本欧美| 色综合网色综合| 国产精品亚洲成人| 日本免费新一区视频| 亚洲婷婷综合久久一本伊一区| 精品日韩99亚洲| 欧美欧美午夜aⅴ在线观看| 成人做爰69片免费看网站| 免费在线观看视频一区| 亚洲天堂免费看| 国产亚洲福利社区一区| 91精品国产综合久久久久| 色综合久久久网| 国产精品亚洲一区二区三区妖精 | 一区二区免费看| 国产三级精品在线| 日韩一区二区麻豆国产| 欧美色涩在线第一页| av激情综合网| 成人中文字幕合集| 韩国一区二区三区| 青青草国产精品97视觉盛宴 | 韩国精品主播一区二区在线观看 | 国产亚洲成aⅴ人片在线观看| 欧美高清视频一二三区| 一本久久综合亚洲鲁鲁五月天| 国产大陆a不卡| 国产成人精品综合在线观看| 久久er精品视频| 九色综合狠狠综合久久| 麻豆成人免费电影| 蜜臀a∨国产成人精品| 日韩精品午夜视频| 日韩电影在线看| 美美哒免费高清在线观看视频一区二区 | 亚洲免费视频成人| 中文字幕一区二区在线播放| 久久精品一级爱片| 欧美国产精品一区二区| 中文欧美字幕免费| 国产精品美女一区二区| 中文字幕欧美一区| 国产精品成人免费精品自在线观看| 国产精品视频一区二区三区不卡| 国产精品久久免费看| 亚洲天堂福利av| 亚洲宅男天堂在线观看无病毒 | 日韩一区二区电影| 精品国产91乱码一区二区三区| 精品国内片67194| 国产欧美日产一区| 亚洲色图20p| 五月激情综合色| 日日嗨av一区二区三区四区| 久久se精品一区精品二区| 国产精品亚洲一区二区三区在线 | 天涯成人国产亚洲精品一区av| 天天综合日日夜夜精品| 久久精工是国产品牌吗| 国产成人亚洲精品青草天美| 波多野结衣91| 欧美日韩不卡一区| 亚洲精品在线三区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲国产精品久久久久婷婷884 | 久久看人人爽人人| 中文字幕在线播放不卡一区| 洋洋成人永久网站入口| 久久精品国产精品亚洲红杏| 成人视屏免费看| 欧美老女人第四色| 国产欧美日韩不卡免费| 亚洲制服欧美中文字幕中文字幕| 久久99精品久久久久婷婷| 91在线播放网址| 久久综合九色综合久久久精品综合 | 成人午夜伦理影院| 欧美色成人综合| 久久久久久久综合色一本| 一区av在线播放| 国产乱理伦片在线观看夜一区| 日本久久电影网| 2020日本不卡一区二区视频| 亚洲激情五月婷婷| 国产美女av一区二区三区| 欧美视频精品在线| 日本一区二区视频在线| 日韩精品一级二级| 91小视频免费观看| 久久久亚洲欧洲日产国码αv| 亚洲国产视频网站| 成人伦理片在线| 精品日韩欧美在线| 天堂在线亚洲视频| 91麻豆国产福利精品| 久久久久久久久久久黄色| 日韩成人dvd| 欧美亚洲日本国产| 1024成人网| 国产91清纯白嫩初高中在线观看 | 欧美一级一级性生活免费录像| 亚洲美女屁股眼交| 国产成人啪免费观看软件| 日韩欧美亚洲国产精品字幕久久久| 亚洲综合一区二区精品导航| 99久久久国产精品| 亚洲国产高清aⅴ视频|