c語言之選擇排序
//選擇排序 include "stdio.h" void sort(int array[5]) { int i,j; for(i=4;i>0;i--)//遍歷的次數 { int flag=0; //最大元素的下標 //找到最大元素的下表標 for(j=0;j<=i;j++) { if(array[j]>array[flag]) { flag=j; } } //最大元素的下標和無序部分最後一個元素交換 int temp=array[flag]; array[flag]=array[i]; array[i]=temp; } } int main() { int array[]={1,5,6,8,9}; int i; sort(array); for(i=0;i<5;i++) { printf("%d ",array[i]); } return 0; }
相關推薦
c語言之選擇排序
//選擇排序 include "stdio.h" void sort(int array[5]) { int i,j; for(i=4;i>0;i--)//遍歷的次數 { int flag=0; //最大元素的下標 //找到最大
c語言之選擇法排序
#include<stdio.h> void select_score(int a[],int n)//排序函式 { int i,j,k,temp; for(i=0;i<n-1;++i) { k=i;
C語言之冒泡排序
最大 fine 編程思路 watermark 冒泡 iss style ack return 如果要對含有n個數的序列進行升序排列,冒泡排序算法步驟是: 1、從存放序列的數組中的第一個元素開始到最後一個元素。依次對相鄰兩數進行比較,若前者大後者小,則交換兩數的位置
(排序演算法)linux c語言實現選擇排序演算法(氣泡排序的略微改進版)
快速排序演算法和氣泡排序演算法是差不多的,都是要兩層迴圈,外迴圈是要比較的個數,其實就是元素的個數,內迴圈就是外層那個標記和其他的比較大小, 氣泡排序是相鄰的兩個,兩兩比較,最後交換出一個最大或者最小值, 快速排序是在氣泡排序的基礎上,找出那個最小的或者最大的,但是不是直接交換,
排序演算法c語言描述---選擇排序
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
c語言之氣泡排序
氣泡排序的思想是將相鄰的元素進行兩兩比較,交換位置,大的放在後面,如將五個數進行比較,第一次排序將最大的放到了第五個,第二次比較將次要大的放到了第四個,依次類推,實現有序化 void BubbleSort(int r[],int n) { for(int i=1;i<=n-1;i+
(排序演算法)linux c語言實現選擇排序演算法
/*************************************************** ##filename : arrinsert.c ##author : GYZ ##
C語言實現選擇排序
選擇排序: 例如:5,3,2,4,1; 第一次迴圈: a[0]>a[1] --換位之後-->3,5,2,4,1 第二次迴圈: a[1]>a[2] --換位之後-->2,3,5,4,1 第三次迴圈:
(c語言)選擇排序法和氣泡排序法
問題描述: 給定一個數組(或者輸入一個數組),分別運用選擇排序法和氣泡排序法將所要的結果輸出。 程式分析: 選擇排序 1>.對於選擇排序,首先理解排序的思想。給定一個數組,這種思想首先假定
C語言之合併排序
一、基本運算: 兩路合併排序:將兩個有序序列合併成一個有序序列。 二、步驟: ①把待排序的序列分成長度為1的子序列(只包含一個記錄的序列被認為是有序的)→得到n個長度為1的有序子序列; ②實施兩兩合併,合併相鄰的兩個子序列→得到大約n/2個長度為2的有序子序列; ③重複步驟
c語言之合併排序實現
#include <stdio.h> #include <stdlib.h> #include <string.h> //將兩個有序序列合併為一個有序序列 void merge(int a[],int left_pos,int right
C語言簡單選擇排序演算法的實現
簡單選擇排序從元素中跳出最小關鍵字,將其放在已排序列的最後,未排序的序列最前,直到全部排序完成為止,其空間複雜度為O(1),時間複雜度為O(n2)。下面是實現程式碼: 首先仍然是預定義和型別定義: #define OK 1 #define ERROR 0 typedef
C語言之氣泡排序的優化
1、原氣泡排序 void print_arr(int arr[], int sz) { int i = 0; for (i = 0; i < sz;i++) {
C語言之歸並排序
ack trac for pos 語言 font tex 合並 %d 即將兩個都升序(或降序)排列的數據序列合並成一個仍按原序排列的序列。 上代碼: #include <stdio.h> #include <stdlib.h> #defin
c#程式碼實現排序演算法之選擇排序
選擇排序的平均時間複雜度為O(n²),最好時間複雜度為O(n²),最壞時間複雜度為O(n²),空間複雜度為O(1),是一種不穩定的演算法。 1.將整個記錄序列劃分為有序區和無序區,初始時有序區為空,無序區含有待排序的所有記錄。 2.在無序區查詢值最小的記錄,將它與無序區的第一個記
資料結構與演算法C++之選擇排序
本篇文章是使用C++實現的選擇排序演算法,演算法複雜度為O(n2) 選擇排序演算法初始時在序列中找到最小元素,放到序列的起始位置作為已排序序列;然後,再從剩餘未排序元素中繼續尋找最小元素,放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。 如上圖陣列中有8個元素,首先將第一個元素
《C語言》氣泡排序、快速排序、選擇排序、堆排序、桶排序、插入排序。
氣泡排序、快速排序、選擇排序、堆排序、桶排序、插入排序。 Main.c MySort.h MySort.c Main.c #include <time.h> #include "MySort.h" #define N 10
C語言之二叉排序樹
typedef struct BiTNode{ int data; struct BiTNode *lchild; struct BiTNode *rchild;}Bintree; #include<stdio.h>
【C語言】簡單排序(三)選擇排序
一、演算法框圖 二、程式碼實現 /******************** 名稱:選擇排序 作者:豆豆 ********************/ #include<stdio.h> #define LENGTH 6 //巨集定義數列長度為
【c語言】氣泡排序和選擇排序
1.氣泡排序 氣泡排序將一個列表中的兩個元素進行比較,並將最小的元素交換到頂部。兩個元素中較小的會冒到頂部,而較大的會沉到底部,該過程將被重複執行,直到所有元素都被排序。 氣泡排序示意圖 以如圖所示的氣泡排序為例,每次比較相鄰的兩個值,值小的交換到前面,每輪結束後值最大的數交換到了