C語言排序原理分析

來源:互聯網
上載者:User

標籤:c語言學習   c語言原創文章   c語言學習總結   

C語言排序原理分析,源於先找最大值和最小值。

1:找最大值原理:

假定第1個為最大的;然後往後面看,如果後面的元素更大,就把後面那個更大的給假定的這個地方,這樣始終保證這個地方總是最大的值;這樣,一次迴圈完了,就得到了整個數組中最大的數了。

(找最小值的方式和找最大值類似)

原始碼如下:

650) this.width=650;" src="http://p1.pstatp.com/large/31f20001092b0ac11c71" alt="C語言排序原理分析" style="border-style:none;margin:10px auto;" />

650) this.width=650;" src="http://p3.pstatp.com/large/31e600024331f064f673" alt="C語言排序原理分析" style="border-style:none;margin:10px auto;" />

效果如下:

650) this.width=650;" src="http://p1.pstatp.com/large/31ec00050087bb662204" alt="C語言排序原理分析" style="border-style:none;margin:10px auto;" />

可以這樣的思考:一次迴圈可以找到最大值,那麼如果我把這個最大值的元素和第1個元素交換,那麼第1個元素就是整個數組的最大值了,而第1個元素以前的那個值就到後面去了。那麼我只要從第2個元素開始,繼續用找最大值的方式就可以找到數組餘下元素中的最大值,也就是整個數組中的第2大值。

以此類推,只要迴圈足夠,就可以讓數組最後從大到小的排序了。

自然原始碼如下:

650) this.width=650;" src="http://p1.pstatp.com/large/31f400018bd469bb928b" alt="C語言排序原理分析" style="border-style:none;margin:10px auto;" />

那麼,測試一下是不是:

650) this.width=650;" src="http://p3.pstatp.com/large/31f200010cb52ac03f27" alt="C語言排序原理分析" style="border-style:none;margin:10px auto;" />

效果,果然如此:

650) this.width=650;" src="http://p3.pstatp.com/large/31e60002481c80c6ac87" alt="C語言排序原理分析" style="border-style:none;margin:10px auto;" />

這就是排序,看似很神奇的功能來的就是這麼的順其自然。其實電腦領域、智能領域、編程領域都是源自實際生活的,只要找到它們的生活道理,就變得很簡單、很順其自然了。

這裡不僅僅是要學具體的知識,更要學的是一種學習方法,探索編程世界的方法,讓自己學的輕鬆的方法,讓一切都來的順其自然的方法。否則只能在未來10年後轉型。有了學習力,你就可以成為常勝將軍,不需要轉型。做到:心中有真意,穩坐釣魚台。

更多順其自然的編程探索,參看《C語言,好爽》第7版(2017年)寧采臣錄製的。

關於數組的尋找,請關注下一篇!


本文出自 “C語言好爽” 部落格,請務必保留此出處http://ningcaichen66.blog.51cto.com/2902291/1970080

C語言排序原理分析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.