C——用冒泡排序法、选择排序法对随机输入的10个整数从小到大排序
生活随笔
收集整理的這篇文章主要介紹了
C——用冒泡排序法、选择排序法对随机输入的10个整数从小到大排序
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
//冒泡排序法
#include <stdio.h>
int main()
{int i,j,t,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);}for(i=0;i<9;i++)//10個(gè)數(shù),進(jìn)行9次循環(huán),進(jìn)行9趟比較{for(j=0;j<9-i;j++)//在每一趟比較中,進(jìn)行9-i次比較{if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(j=0;j<10;j++){printf("%d\n",a[j]);}return 0;
}i表示第幾趟
j表示次數(shù)第幾次:、
也就是說
第一趟(i=0),比較9-i次(9)次
第二趟(i=1),比較9-i次(8)次
第三趟(i=2),比較9-i次(7)次
第四趟(i=3),比較9-i次(6)次
第五趟(i=4),比較9-i次(5)次
第六趟(i=5),比較9-i次(4)次
第七趟(i=6),比較9-i次(3)次
第八趟(i=7),比較9-i次(2)次
第九趟(i=8),比較9-i次(1)次 原理:
每?jī)蓚€(gè)相鄰的數(shù)進(jìn)行比較,小的數(shù)在前,大的數(shù)在后;
10個(gè)數(shù)只需要比較9趟,也就是i走【0~9】趟,j每一趟對(duì)應(yīng)走【0~9-i】次
推廣:
n個(gè)數(shù)比較的話
i走【0~n-1】趟,j每一趟對(duì)應(yīng)走【0~n-1-i】次第一趟: a[0]與a[1]比較 a[1]與a[2]比較 ... a[8]與a[9]比較 //比較9次,由j控制第二趟 a[0]與a[1]比較 a[1]與a[2]比較 ... a[7]與a[8]比較 //比較8次,由j控制第三趟 a[0]與a[1]比較 a[1]與a[2]比較 ... a[6]與a[7]比較 //比較7次,由j控制第四趟 a[0]與a[1]比較 a[1]與a[2]比較 ... a[5]與a[6]比較 //比較6次,由j控制第五趟 a[0]與a[1]比較 a[1]與a[2]比較 ... a[4]與a[5]比較 //比較5次,由j控制第六趟 a[0]與a[1]比較 a[1]與a[2]比較 ... a[3]與a[4]比較 //比較4次,由j控制第七趟 a[0]與a[1]比較 a[1]與a[2]比較 a[2]與a[3]比較 //比較3次,由j控制第八趟 a[0]與a[1]比較 a[1]與a[2]比較 //比較2次,由j控制第九趟 a[0]與a[1]比較 //比較1次,由j控制
//選擇排序法
#include <stdio.h>
int main()
{int i,j,t,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);}for(i=0;i<=8;i++){for(j=i;j<=9;j++){if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}}}for(j=0;j<10;j++){printf("%d\n",a[j]);}return 0;
}i表示第幾趟
j表示次數(shù)第幾次:、
也就是說
第一趟(i=0),比較9-i次(9)次
第二趟(i=1),比較9-i次(8)次
第三趟(i=2),比較9-i次(7)次
第四趟(i=3),比較9-i次(6)次
第五趟(i=4),比較9-i次(5)次
第六趟(i=5),比較9-i次(4)次
第七趟(i=6),比較9-i次(3)次
第八趟(i=7),比較9-i次(2)次
第九趟(i=8),比較9-i次(1)次 原理:
每一個(gè)數(shù),依次和其他幾個(gè)數(shù)比較,小的數(shù)在前,大的數(shù)在后;
10個(gè)數(shù)只需要比較9趟,也就是i走【0~9】趟,j每一趟對(duì)應(yīng)走【0~9-i】次
推廣:
n個(gè)數(shù)比較的話
i走【0~n-1】趟,j每一趟對(duì)應(yīng)走【0~n-1-i】次第一趟: a[0]與a[1]比較 a[0]與a[2]比較 ... a[0]與a[9]比較 //比較9次,由j控制第二趟 a[1]與a[2]比較 a[1]與a[3]比較 ... a[1]與a[9]比較 //比較8次,由j控制第三趟 a[2]與a[3]比較 a[2]與a[4]比較 ... a[2]與a[9]比較 //比較7次,由j控制第四趟 a[3]與a[4]比較 a[3]與a[5]比較 ... a[3]與a[9]比較 //比較6次,由j控制第五趟 a[4]與a[5]比較 a[4]與a[6]比較 ... a[4]與a[9]比較 //比較5次,由j控制第六趟 a[5]與a[6]比較 a[5]與a[7]比較 ... a[5]與a[9]比較 //比較4次,由j控制第七趟 a[6]與a[7]比較 a[6]與a[8]比較 a[6]與a[9]比較 //比較3次,由j控制第八趟 a[7]與a[8]比較 a[7]與a[9]比較 //比較2次,由j控制第九趟 a[8]與a[9]比較 //比較1次,由j控制
總結(jié)
以上是生活随笔為你收集整理的C——用冒泡排序法、选择排序法对随机输入的10个整数从小到大排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用筛选法求100之内的素数
- 下一篇: 电视柜多少钱啊?