[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 ...