C語言排序例項(選擇 冒泡 插入 折半 快速)

2021-07-05 11:29:06 字數 1476 閱讀 5910

[cpp]view plain

copy

#include 

///選擇法排序

//a:為陣列首位址

//n:為陣列元素個數

void

select_sort(

int*a, 

intn)  

}  if(i != k)  

}  }  ///冒泡法排序

void

bubble_sort(

int*a, 

intn)  

}  }  }  

///插入法排序

void

insert_sort(

int*a, 

intn)  

a[j+1] = temp; //插在a[j]的後面

}  }  

///折半排序(希爾排序)

void

shell_sort(

int*a, 

intn)  

}  }while

(flag != 0);  

}  }  

///快速排序

//查詢位置

intfind_pos(

int*a, 

intlow, 

inthigh)  

a[low] = a[high];  

while

(low < high && a[low] <= val)  

a[high] = a[low];  

}//終止while迴圈之後low和high一定是相等的

//high可以改為low

a[low] = val;  

return

low;  

}  //low:第乙個元素下標

//high:最後乙個元素下標

void

quick_sort(

int*a, 

intlow, 

inthigh)  

}  intmain(

intargc, 

char

*argv)  

;  int

n = 

sizeof

(a)/

sizeof

(a[0]); 

//陣列元素個數

//select_sort(a, n); //選擇法排序

//bubble_sort(a, n); //冒泡法排序

//insert_sort(a, n); //插入法排序

//shell_sort(a, n); //折半排序(希爾排序)

quick_sort(a, 0, n-1); //快速排序

inti = 0;  

for(i = 0; i < n; i++)  

printf("\n"

);  

return

0;  

}  

C語言五種基本排序法 選擇 冒泡 交換 插入 折半

選擇法排序 intmain int len 0 int temp 0 暫存最大值 int pos 0 暫存最大值位置 int i 0,j 0 printf 請輸入陣列的長度,並依次輸入各元素 n scanf d len 獲取陣列長度 輸入要排序的陣列 for i 0 i len i for i 0 ...

插入,冒泡,選擇,快速排序(c語言,排序)

插入,冒泡,選擇,快速 排序 include typedef struct abc seqlist void insert sort seqlist r,int n 插入排序 void bubble sort seqlist r,int n 氣泡排序 void select sort seqlist...

C語言排序演算法( 冒泡,選擇,插入,,,)

1.bubble sort 為氣泡排序 所謂冒泡就像水裡的氣泡一樣,越往上走越大,所以元素列中的越大的元素經過兩兩比較通過交換最終浮到頂端,故稱bubble sort。實現如下 includeint main 15個元素 int count 0 第一輪比較 for int i 0 i 15 1 i ...