成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五種C語言非數值計算的常用經典排序算法

開發 前端 算法
排序是計算機的一種操作方法,其目的是將一組“無序”的記錄序列調整為“有序”的記錄序列,主要分為內部排序和外部排序。

 摘要: 排序是計算機的一種操作方法,其目的是將一組“無序”的記錄序列調整為“有序”的記錄序列,主要分為內部排序和外部排序。

排序

排序是計算機的一種操作方法,其目的是將一組“無序”的記錄序列調整為“有序”的記錄序列,主要分為內部排序和外部排序。

(1)冒泡排序(起泡排序)

冒泡排序( Bubble Sort ),其基本思路是,對于一組要排序的元素列,依次比較相鄰的兩個數,將比較小的數放在前面,比較大的數放在后面,如此繼續,直到比較到最后的兩個數,將小數放在前面,大數放在后面,重復步驟,直至全部排序完成。

優點:穩定;

缺點:慢,每次只能移動相鄰兩個數據。

假設要對含有n個數的序列進行升序排列,冒泡排序算法步驟是:

①從存放序列的數組中的第一個元素開始到最后一個元素,依次對相鄰兩數進行比較,若前者大后者小,則交換兩數的位置;

②第①趟結束后,最大數就存放到數組的最后一個元素里了,然后從第一個元素開始到倒數第二個元素,依次對相鄰兩數進行比較,若前者大后者小,則交換兩數的位置;

③重復步驟①n-1趟,每趟比前一趟少比較一次,即可完成所求。

1、任意讀入10個整數,將其用冒泡法按升序排列后輸出。

2、傳統方法:

(2)選擇法排序

選擇排序法是每一趟在 n-i+1 ( i=1 , , …n-1 )個記錄中選取關鍵字最小的記錄作為有序序列中第 個記錄?;诖怂枷氲乃惴ㄖ饕泻唵芜x擇排序、樹型選擇排序和堆排序。

優點:移動數據的次數已知(n-1次);

缺點:比較次數多,不穩定。

選擇法排序是相對好理解的排序算法。假設要對含有n個數的序列進行升序排列,算法步驟是:

①從數組存放的n個數中找出最小數的下標(算法見下面的“ 求最值 ”),然后將最小數與第1個數交換位置;

②除第1個數以外,再從其余n-1個數中找出最小數(即n個數中的次小數)的下標,將此數與第2個數交換位置;

③重復步驟①n-1趟,即可完成所求。

1、任意讀入10個整數,將其用選擇法按升序排列后輸出。

2、傳統方法:

函數法:

(3)插入法排序

優點:穩定,快;

缺點:比較次數不一定,比較次數越多,插入點后的數據移動越多,特別是當數據總量龐大的時候,但用鏈表可以解決這個問題。

要想很好地掌握此算法,先請了解“有序序列的插入算法”,就是將某數據插入到一個有序序列后,該序列仍然有序。插入算法參見下面的“ 數組元素的插入 ”。

1、將任意讀入的整數x插入一升序數列后,數列仍按升序排列。

插入法排序的要領就是每讀入一個數立即插入到最終存放的數組中,每次插入都使得該數組有序。

2、任意讀入10個整數,將其用插入法按降序排列后輸出。

(4)歸并排序

歸并排序( MERGE-SORT )是建立在歸并操作上的一種有效的排序算法 該算法是采用分治法( Divide and Conquer )的一個非常典型的應用。將已有序的子序列合并,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。若將兩個有序表合并成一個有序表,稱為二路歸并

即將兩個都 升序(或降序) 排列的數據序列合并成一個仍按原序排列的序列。

1、有一個含有6個數據的升序序列和一個含有4個數據的升序序列,將二者合并成一個含有10個數據的升序序列。

(5)字符數組:(逆序排列)如:

1、把輸入的字符串逆序排列,如輸入ABCDE,輸出為EDCBA

本文分享自華為云社區《C語言非數值計算常用經典算法之排序》,原文作者:Jack20。

責任編輯:張燕妮 來源: segmentfault.com
相關推薦

2009-08-26 18:14:11

C#排序算法

2023-09-06 13:58:01

負載均衡算法

2024-02-22 15:24:11

SQL數據庫

2024-04-28 11:22:18

2024-10-24 08:04:00

2021-01-19 07:02:26

算法數據結構堆排序

2022-07-27 08:15:31

C 語言Linux

2019-09-17 16:30:18

java排序算法

2009-09-08 17:20:01

C#排序算法

2022-01-13 20:00:16

C語言編程語言

2022-01-07 13:50:55

語言內存代碼

2023-04-27 09:13:20

排序算法數據結構

2010-11-24 15:41:56

MySQL命令行

2022-06-16 11:01:22

數據庫SQL

2011-04-20 14:29:07

歸并排序

2011-04-20 16:58:33

java排序

2021-07-05 06:39:59

經典算法無序數組

2021-09-02 11:49:41

基數算法技巧

2020-06-01 08:35:36

編程語言JavaPython

2017-04-27 10:38:28

排序算法比較分析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久国产精品 | 在线日韩中文字幕 | 久久精品视频网站 | 欧美jizzhd精品欧美巨大免费 | 极品销魂美女一区二区 | 久久久久久久99 | 欧美日韩在线一区二区 | 巨大黑人极品videos精品 | 国产精品91网站 | 夜夜操天天艹 | 成人天堂噜噜噜 | 韩日精品视频 | 一级片在线播放 | 亚洲免费高清 | 91久久精品日日躁夜夜躁国产 | 在线观看欧美日韩视频 | 99综合 | 精品免费视频一区二区 | 亚洲一区二区三区视频免费观看 | 337p日本欧洲亚洲大胆精蜜臀 | 亚洲区一 | 国产精品日韩 | 久久亚洲一区二区 | 欧美日韩国产一区二区三区 | 综合另类 | 成人精品一区二区 | 欧美一区二区三区视频 | 精品伊人久久 | 中文字幕在线网 | 欧美成人免费在线视频 | 国产精品亚洲欧美日韩一区在线 | 久久久久se | 亚洲国产成人在线观看 | aaa精品| 欧美三区视频 | 国产精品区一区二 | 亚洲国产欧美日韩 | 黄色欧美视频 | 99精品欧美一区二区三区综合在线 | 午夜一区二区三区在线观看 | 免费久久99精品国产婷婷六月 |