溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

插入排序算法實現(xiàn)

發(fā)布時間:2020-06-26 15:50:13 來源:網(wǎng)絡(luò) 閱讀:191 作者:TheRoodToDeath 欄目:編程語言
/***********插入算法實現(xiàn)******************/
#include <stdio.h>
void println(int array[], int len)  //定義一個輸出數(shù)組元素的函數(shù)
{
    int i = 0;
    
    for(i=0; i<len; i++)
    {
        printf("%d ", array[i]);
    }
    
    printf("\n");
}
void swap(int array[], int i, int j)  //用于交換兩個元素變量
{
    int temp = array[i];
    
    array[i] = array[j];
    
    array[j] = temp;
}
void InertionSort(int array[], int len) // 具體插入算法實現(xiàn)
{
    int i = 0;
    int j = 0;
    int k = -1;
    int temp = -1;
    
    for(i=1; i<len; i++)
    {
        k = i;
        temp = array[k];    //把第二個元素單個拿出來,并把第一個與第二個元素比較如果大于他,就交換位置把小的插入前一個位置
        
        for(j=i-1; (j>=0) && (array[j]>temp); j--)
        {
            array[j+1] = array[j];   //
            k = j;
        }
        
        array[k] = temp;  //這一步就是把拿出來的數(shù)進行插入恰當(dāng)?shù)奈恢?    }
}
int main()
{
    int array[] = {21, 25, 49, 25, 16, 8};
    int len = sizeof(array) / sizeof(*array); 
    
    println(array, len);
    
    InertionSort(array, len);
    
    println(array, len);
    
    return 0;
}

·

 

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI