#include?stdio.h
創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的商洛網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
void?func(int?*a)
{
int?i,j,temp;
for(j=0;j=7;j++)?
{?
for?(i=0;i7-j;i++)?
if?(a[i]a[i+1])?
{?
temp=a[i];?
a[i]=a[i+1];?
a[i+1]=temp;
}?
}?
}
int?main()
{
int?a[8]={8,7,6,5,4,3,2,1};
func(a);
for(int?i=0;i8;i++)
{
printf("%d?",a[i]);
}
return?0;
}
func就是功能函數(shù)實現(xiàn)數(shù)組a[8]的排序。
#include?stdio.h
void?sort(int?a[],?int?n)?{//選擇排序
int?i,j,k,t;
for(i?=?0;?i??n?-?1;?++i)?{
k?=?i;
for(j?=?k?+?1;?j??n;?++j)?{
if(a[k]??a[j])?k?=?j;
}
if(k?!=?i)?{
t?=?a[i];
a[i]?=?a[k];
a[k]?=?t;
}
}
}
int?main()?{
int?a[]?=?{21,16,30,21,8,19,33,26,28,27,24,50,13,12};
int?i,n?=?sizeof(a)/sizeof(a[0]);
printf("排序前:\n");
for(i?=?0;?i??n;?++i)
printf("%d?",a[i]);
printf("\n");
sort(a,n);
printf("排序后:\n");
for(i?=?0;?i??n;?++i)
printf("%d?",a[i]);
printf("\n");
return?0;
}
#include stdio.h
#include stdlib.h
#include time.h
#define MAXlen 100
void select_sort(int *x, int n) { //選擇排序
int i, j, min;
int t;
for (i = 0; i n - 1; i++) { // 要選擇的次數(shù):0~n-2共n-1次
min = i; // 假設(shè)當前下標為i的數(shù)最小,比較后再調(diào)整
for (j = i + 1; j n; j++) { //循環(huán)找出最小的數(shù)的下標是哪個
if (*(x + j) *(x + min)) {
min = j; // 如果后面的數(shù)比前面的小,則記下它的下標
}
}
if (min != i) { // 如果min在循環(huán)中改變了,就需要交換數(shù)據(jù)
t = *(x + i);
*(x + i) = *(x + min);
*(x + min) = t;
}
}
}
int main() {
int i;
int iArr[MAXlen];
srand((unsigned int)time(NULL));
printf("\n排序前:\n");
for(i = 0 ; i MAXlen ; i++) {
iArr[i] = (unsigned int)rand() % 1000;
if(i % 10 == 0) printf("%\n");
printf("%5d",iArr[i]);
}
printf("\n");
select_sort(iArr,MAXlen);
printf("\n排序后:\n");
for(i = 0 ; i MAXlen ; i++) {
if(i % 10 == 0) printf("%\n");
printf("%5d",iArr[i]);
}
printf("\n\n");
return 0;
}