1. 程式人生 > >冒泡法與選擇法對10個數進行從小到大的排序

冒泡法與選擇法對10個數進行從小到大的排序

//對10個數字按照從小到大的排序
氣泡排序:

#include <stdio.h>

int main()
{
    int i;
    int j;
    int temp;
    int a[10]={61,4,7,45,13,6,25,11,9,23};
    for(i=0;i<9;i++)            //n個數最多做n-1趟排序
    {
        for(j=0;j<9-i;j++)
        {
            if(a[j]>a[j+1])
            {
                temp=a[j+1
]; a[j+1]=a[j]; a[j]=temp; } } } //氣泡排序演算法 for(i=0;i<10;i++) { printf("%4d",a[i]); } printf("\n"); return 0; }

選擇排序:從第0位開始,與後面的所有數進行比較,選出最小的互換位置,保證第0位值最小;
從第1位開始,與後面得剩餘數進行比較,選出除第0位外最小的數互換位置,保證為次最小值;
依次類推到第9位,與第10位交換;退出迴圈。

#include <stdio.h>

int main()
{
    int a[10]={1,43,5,2,54,93,14,83,35,20};
    int i;
    int j;
    int min;
    for(i=0;i<9;i++)
    {
        for(j=i+1;j<10;j++)
        {
            if(a[i]>a[j])
            {
                min=a[j];
                a[j]=a[i];
                a[i]=min;
            }
        }
    }  //選擇排序演算法
for(i=0;i<=9;i++) { printf("%4d",a[i]); } printf("\n"); return 0; }

相關推薦

冒泡選擇10個數進行從小到大的排序

//對10個數字按照從小到大的排序 氣泡排序: #include <stdio.h> int main() { int i; int j; int temp

陣列排序(交換選擇

交換法與選擇法降序排序 交換法 交換法對陣列陣列進行排序的基本思路 就是先讓陣列(n個數)中的最左邊的一個數(用i=0代表)與其右邊的每一個數(從j=i+1開始)依次(j++)進行比較,若遇到比其大的數(score[j]>score[i]),則將較

C程式設計實現:10個數進行排序

下面來介紹一下在Microsoft Visual C++中使用C來程式設計實現對鍵盤輸入的10個數進行排序。具體步驟如下: 1、首先開啟Microsoft Visual C++軟體,選擇新建C++原始檔,如圖所示: 2、接下來先儲存好原始檔,如圖所示: 3、現在就可以開始在原

冒泡10個數排序

inpu sort cout log pac ted 個數 names std #include<iostream> #include<stdlib.h> using namespace std; int main() { int a[1

選擇陣列中的10個數進行從小到大排序.Cpp

#include<iostream> using namespace std; int main() {  void select_sort(int array[],int n);    int a[10],i;    cout<<"enter t

C語言中冒泡選擇、插入三種常見排序演算法分析

一、冒泡法(起泡法)  演算法要求:用起泡法對10個整數按升序排序。     演算法分析:如果有n個數,則要進行n-1趟比較。在第1趟比較中要進行n-1次相鄰元素的兩兩比較,在第j趟比較中要進行n-j次兩兩比較。比較的順序從前往後,經過一趟比較後,將最值沉底(換到最後一個元

攤還分析,核算勢能

為什麼我們需要攤還分析 上篇文章我們提到了演算法的時間複雜度分析,給定輸入規模,我們分析出演算法的耗時,但是這樣夠了嗎? 有時輸入規模不是一個靜態的值,可能輸入是一系列操作,比如在這棵樹裡先插入結點,再做一個查詢,再刪除最小值,再與另一棵樹合併。(插入,查詢,刪除最小值,合併)就是一

牛頓二分的比較—matlab實現

剛學完牛頓迭代法,為了驗證收斂的速率,用Matlab做了比較 首先是牛頓迭代法 %比較牛頓迭代法、 function [x,i]=newtonmethod(x0,f,ep,Nmax)%x0—初值,f—

第一次發博,《染色構造在棋盤上的應用》的理解

看了太多大神的文章,被嚇的半句話也不敢亂說,然後看了很多很多人教育我說要學會寫部落格,而我一直都覺得自己弱成渣,分分鐘被秒成狗,然而我還是來了,因為儘管我弱,而你,卻無可奈何。   廢話不多說,第一次就不發別人發過的題解了,別人沒發過的不用說,我肯定不會做。。。  

c語言 10個數組元素依次賦值為0 1 2 3 4 5 6 7 8 9,要求按逆序輸出

                對10個數組元素依次賦值為0,1,2,3,4,5,6,7,8,9,要求按逆序輸出。 解:程式:

雨流計數的matlab實現,採用三點四點

介紹雨流計數法是20世紀50年代由英國的兩位工程師M.Matsuishi和T.Endo提出來的。該計數法的主要功能是把實測載荷歷程簡化為若干個載荷迴圈,供疲勞壽命估算和編制疲勞試驗載荷譜使用。它以雙引數法為基礎,考慮了動強度(幅值)和靜強度(均值)兩個變數,符合疲勞載荷本身固

分支限界回溯的區別

分支限界法類似於回溯法,也是一種在問題的解空間樹T上搜索問題解的演算法。但在一般情況下,分支限界法與回溯法的求解目標不同。回溯法的求解目標是找出T中滿足約束條件的所有解,而分支限界法的求解目標則是找

二維陣列求10個數的最

#include<stdio.h> int main() {     int a[3][4]={{11,12,13,15},{9,7,8},{22,33,44}};//定義陣列及初始化     int i,j;     int row=0,colum=0,max=

C#--輸入10個數存入陣列中,求這10個數的最值、最小值和平均值。

輸入10個數存入陣列中,求這10個數的最大值、最小值和平均值。 using System; using System.Collections.Generic; using System.Linq; u

for編寫10個數找最

import java.util.Scanner; public class Test02{ public static void main(String[] args){ Scanner in

數據結構單鏈表進行數據排序

tar ocs tmc www fan div wke userinfo exc 匭z16ka藕2時mc脊允http://t.docin.com/gpkdx21266 絞0沿6qgwm譾薔jzhttp://docstore.docin.com/sina_637079836

資料之使用hadoop海量資料進行統計並排序

不得不說,Hadoop確實是處理海量離線資料的利器,當然,凡是一個東西有優點必定也有缺點,hadoop的缺點也很多,比如對流式計 算,實時計算,DAG具有依賴關係的計算,支援都不友好,所以,由此誕生了很多新的分散式計算框 架,Storm,Spark,Tez,impala,

如何使用hadoop海量資料進行統計並排序

下面進入正題,先來分析下散仙這個例子的需求,總共需要二步來完成,第一步就是對短語的統計,第二步就是對結果集的排序。所以如果使用MapReduce來完成的話,就得需要2個作業來完成這件事情,第一個作業來統計詞頻,第二個來負責進行排序,當然這兩者之間是有依賴關係的,第二個作業的執行,需要依賴第一個作業的結果,這就

Java英文句子進行倒序排序

轉自:http://www.sharejs.com/codes/java/6831 /** * 工具類 * @author Administrator * */ public class Util { /** * 判斷一個字元是否是字母

經典排序-冒泡選擇

main class sta 冒泡 oos 冒泡排序 選擇 運行 結果 1 冒泡排序的思想類似氣泡上升,數組前後元素兩兩比較,如果前面的元素比後面的大就交換位置,每趟排序都可以確定最大值的位置 2 選擇排序思想類似打擂臺,每趟比較都把最小的值排在數組最前面,每趟比較都可以確