直接選擇排序與冒泡排序


#include <stdlib.h> //包含內存分配函數 malloc 的聲明

#include "sort.h"

//直接插入排序變形算法(非適應性,與a[i]、a[i-1]之間的比較結果無關)

void insertion (Item a[], int l, int r) { //l, r 分別是待排序區間的下標下界和上界

int i,j;

       for (i=l+1; i<=r; i++)

              for (j=i; j>l; j--)

                     compexch(a[j-1], a[j]);

}

//直接選擇排序

void selection (Item a[], int l, int r ) {

int i, j, min;

       for (i=l; i<r; i++) {

              min = i;

              for (j = i+1; j <=r ; j++) 

                     if ( less(a[j], a[min]) ) min=j;       

              exch(a[i], a[min]);

       }

}

//冒泡排序

void bubble(Item a[], int l, int r) {

int i,j;

       for (i=l; i<r; i++) {

              for (j=r; j>i; j--)

                     compexch(a[j-1], a[j]);

       }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM