當前位置:編程學習大全網 - 網站源碼 - C語言快速排序問題!

C語言快速排序問題!

問題解決了嗎

給妳提供兩種排序方式,希望幫到妳,看程序:

#include<stdio.h>?

#include<string.h>?

void?bubble(int?*a,int?n);?//?冒泡法,?定義兩個參數:數組首地址與數組大小

void?choise(int?*a,int?n);?//?選擇法,排序?

int?main()?

{

int?a[11]={1,5,6,8,4,2,10,56,20,55};?

int?i;

printf("\n冒泡排序\n");?

bubble(a,10);

for(i=0;i<10;i++)?

printf("%d?,",a[i]);?

printf("\n選擇排序\n");?

choise(a,10);

for(i=0;i<10;i++)?

printf("%d?,",a[i]);?

}

void?bubble(int?*a,int?n)//?冒泡法,排序?定義兩個參數:數組首地址與數組大小

{?

int?i,j,temp;?

for(i=0;i<n-1;i++)?

for(j=i+1;j<n;j++)?//?註意循環的上下限

if(a[i]>a[j])?

{?

temp=a[i];?

a[i]=a[j];?

a[j]=temp;?

}?

}?

void?choise(int?*a,int?n)?//?選擇法,排序?

{?

int?i,j,k,temp;?

for(i=0;i<n-1;i++)?

{?

k=i;/*給記號賦值*/?

for(j=i+1;j<n;j++)?

if(a[k]>a[j])?

k=j;/*是k總是指向最小元素*/?

if(i!=k)?

{?/*當k!=i是才交換,否則a[i]即為最小*/?

temp=a[i];?

a[i]=a[k];?

a[k]=temp;?

}?

}?

}

  • 上一篇:如何將linux c++程序移植到windows上?
  • 下一篇:使用 Excel VBA 實現復制 粘貼 和保存,並自動運行VBA
  • copyright 2024編程學習大全網