選擇法排序(selection sort)的基本思想是:每一趟在n-i+1(i=1,2,…,n- 1)個記錄中選取最小的記錄作為有序序列中的第i個記錄。下面介紹簡單選擇排序(****** selection sort).
一次簡單選擇排序的過程如下:通過n-i次比較,在n-i+1個記錄中選取最小的記錄,並與第i( )個記錄交換。
演算法描述為
void sortarry(int a,int n)
t=a[k];
a[k]=a[i];
a[i]=t;}}
例10-12 對整數序列 1,2,8 ,9 ,-1,22,23,2,3,4按遞增的順序排序。
#include "stdio.h"
#include "math.h"
void main()
;int i;
for(i=0;i<10;i++)
printf("%5d",array[i]);
printf("\n");
sortarry(array,10);
for(i=0;i<10;i++)
printf("%5d",array[i]);}/*
選擇*/
void sortarry(int a,int n)
t=a[k];
a[k]=a[i];
a[i]=t;}}
程式設計思想及範例 7 ,迭代問題
在這裡主要介紹其中的非線性方程求根問題,及其兩種常用的方法。設有非線性方程 代數方程或超越方程 若存在數字使得,則稱為方程的根。在數學中除了極少數的簡單方程的根可以通過解析式表達外,一般方程的根都無法用簡單表示式來表示,因此必須研究求根的近似值的方法。假設在區間連續,且。根據連續函式的性質知在內至少...
8 排序演算法
1 氣泡排序 bubble sort 演算法描述 比較相鄰的元素。如果第乙個比第二個大,就交換它們兩個 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對,這樣在最後的元素應該會是最大的數 針對所有的元素重複以上的步驟,除了最後乙個 重複步驟1 3,直到排序完成。實現 public clas...
8 排序演算法 堆排序
堆排序 heapsort 是指利用堆這種資料結構所設計的一種排序演算法。堆積是乙個近似完全二叉樹的結構,並同時滿足堆積的性質 即子結點的鍵值或索引總是小於 或者大於 它的父節點。堆排序可以說是一種利用堆的概念來排序的選擇排序。分為兩種方法 堆排序的平均時間複雜度為 nlogn 1.演算法步驟 建立乙...