c語言選擇排序法詳解 C語言:用選擇法對(duì)數(shù)組中10個(gè)數(shù)按由大到小排序?
C語言:用選擇法對(duì)數(shù)組中10個(gè)數(shù)按由大到小排序?C語言:用選擇法對(duì)數(shù)組中10個(gè)數(shù)按由大到小排序代碼如下。#includeusing namespace stdint main(){void selec
C語言:用選擇法對(duì)數(shù)組中10個(gè)數(shù)按由大到小排序?
C語言:用選擇法對(duì)數(shù)組中10個(gè)數(shù)按由大到小排序
代碼如下。
#include
using namespace std
int main()
{
void select_sort(int arry[],int n)
int a[10],i
for(i=0i<=9i )
{
cin>>a[i]
}
cout<<endl
cout<< select_sort(a,10)
for(i=0i<=9i )
{
cout<<a[i]<<" "
}
cout<<endl
return 0
}
void select_sort(int arry[],int n)
{
int i,j,k,t
for(i=0i<=n-1i )
{
k=i
for(j=i 1j<nj )
{
if(arry[j]<arry[k])
{
k=j
}
t=arry[k]
arry[k]=arry[i]
arry[i]=t
}
}
}
擴(kuò)展資料:
return表示把程序流程從被調(diào)函數(shù)轉(zhuǎn)向主調(diào)函數(shù)并把表達(dá)式的值帶回主調(diào)函數(shù),實(shí)現(xiàn)函數(shù)值的返回,返回時(shí)可附帶一個(gè)返回值,由return后面的參數(shù)指定。
C語言選擇排序法?
inta[10],i,j,k,temp選擇法:for(i=0i<9i ){k=ifor(j=k 1j<10j )if(a[k]<a[j])k=jtemp=a[i]a[i]=a[k]a[k]=temp}冒泡法:for(i=0i<9i )for(j=0j<9-ij )if(a[j]>a[j 1]){temp=a[j]a[j]=a[j 1]a[j 1]=temp}
c語言,用選擇法對(duì)10個(gè)整數(shù)從小到大排序?
你好,我是【路上的腳】,很高興為你解答。#includevoid sort(int a[],int n) //選擇排序{int iint jfor(i=0i<ni ) //n個(gè)程序 排n-1次{int c=ifor(j=i 1j<nj ) //從剩余的元素中,查找最小值,記住其下標(biāo)。{if(a[c]>a[j]){c=j //記住最小值的下標(biāo)。}}if(c !=i) //進(jìn)行交換。{int temp = a[i]a[i] = a[c]a[c] = temp}}}int main(){int a[10]={1,3,5,7,9,2,4,6,8,10}sort(a,10)int ifor(i=0i<10i ){printf("%d ",a[i])}getchar()return 0}更多專業(yè)的科普知識(shí),歡迎關(guān)注我。如果喜歡我的回答,也請(qǐng)給我贊或轉(zhuǎn)發(fā),你們的鼓勵(lì),是支持我寫下去的動(dòng)力,謝謝大家。
快速排序法c語言?
快速排序是基于分治技術(shù)的重要排序算法,排序算法按照元素的值對(duì)它們進(jìn)行劃分。
劃分是對(duì)給定數(shù)組中的元素的重新排序,使得A [ s ] A[s]A[s]左邊的元素都小于等于A [ s ] A[s]A[s],而右邊A [ s ] A[s]A[s]右邊的元素都大于等于A [ s ] A[s]A[s]。
顯然,建立了一個(gè)劃分以后,A [ s ] A[s]A[s]已經(jīng)位于它在有序數(shù)組中的最終結(jié)果,接下來我們可以繼續(xù)對(duì)A [ s ] A[s]A[s]前和A [ s ]A[s]A[s]后的子數(shù)組分別進(jìn)行排序(例如,使用同樣的方法)。
注意,它和合并排序不同之處在:
在合并排序算法中,將問題劃分為兩個(gè)子問題,是很快的,算法的主要工作在于合并子問題的解;
在快速排序中,算法的主要工作在于劃分階段,而不需要再去合并子問題的解了。