#include
#include
//氣泡排序從小到大 第一趟得到最大的存到陣列的最後,第二趟得到陣列的第二大的,存到陣列的倒數第二位。依次。。
void bubble_sort(int *p)}}
//列印輸出
for(int i=0;i int length=6;
//取增量
int step=length/2;
while(step>=1)
p[j+step]=temp;
} step=step/2; }}
//選擇排序(選擇出最小的假定第乙個為最小的 然後判斷 是否交換)
void selection_sort(int *p)
}if(min!=i)
}//列印輸出
for(int i=0;i=val)
--high;
a[low]=a[high];
while(lowint leftend=middle-1;
//右指標頭
int rightstart=middle;
//臨時陣列的下標
int tempindex=left;
//陣列合併後的長度
int templength=right-left+1;
//先迴圈兩個區間段都沒有結束的情況
while((left<=leftend)&&(rightstart<=right))else
}//判斷左邊序列是否結束
while(left<=leftend)
//判斷右邊序列是否結束
while(rightstart<=right)
//交換資料
for(int i=0; i p[right]=temp[right];
right--;}}
//歸併排序 ---陣列的劃分
void merge_sort(int *p ,int *temp,int left,int right)
}//插入排序
void insert_sort(int *a)else
}a[j + 1] = temp;}}
int main(int argc, char* argv)
;//bubble_sort(b);
//selection_sort(b);
//quick_sort(b,0,5);
shell(b);
//insert_sort(b);
for(int i=0;i<6;i++)
scanf("%a",&a);
return 0;
}
幾種常見的排序演算法c 實現
一 選擇排序 演算法思想 對於有n個元素的陣列,一共有n躺排序,每趟排序要保證前i ii項元素已經排好序,對於第i ii趟排序,從第i ii個元素開始遍歷陣列,將當前遍歷元素中最小的值與第i個元素交換。具體 實現如下 include include include using namespace s...
c 常見的幾種排序
找到最小的元素,並記錄下它的下標,然後和第i個元素進行交換,每次進行乙個迴圈便找到乙個最小值。比如在乙個長度為n的無序陣列中,在第一趟遍歷n個資料,找出其中最小的數值與第乙個元素交換,第二趟遍歷剩下的n 1個資料,找出其中最小的數值與第二個元素交換 第n 1趟遍歷剩下的2個資料,找出其中最小的數值與...
常見的幾種排序方法實現
常見的幾種排序方法 氣泡排序 選擇排序 插入排序 選擇排序 1 氣泡排序 每次比較相鄰的像個數,值小的往前冒泡,時間複雜度o n2 2 選擇排序 每次選擇最小的乙個數放在前面,時間複雜度o n2 3 插入排序 每個數插入前面的有序數列中,時間複雜度o n2 4 選擇排序 利用遞迴方法,不斷將小於某個...