氣泡排序:步驟1、從第乙個元素開始與它的下乙個元素比較,如果比下乙個元素大,交換兩個元素的位置;如果小於或者相等,保持不變。每次交換可以保證有序的佇列長度增加1。
步驟2、重複步驟1,一直到整個佇列全部有序為止。
比如對於序列5,4,3,2,1,經過第一次交換後佇列改變為:4,3,2,1,5;第二次交換後佇列改變為:3,2,1,4,5,;每一次隊尾的有序序列的長度都會增加1。
#include#define n 1005
int main()
}} for(i=0;i
插入排序:建立兩個佇列,乙個為原佇列,乙個為有序佇列。
步驟1、將原佇列中的乙個元素加入有序佇列;
步驟2、重複此操作,直到原隊列為空。
對於陣列a[5]=,b隊列為空。第一次操作後,兩個佇列改變為a[5]=,b=;第二次操作之後a[5]=,b=;一直重複此操作,直到a隊列為空。
#include#define n 1005
int main()
{ int n;
int i,j;
int a[n],b[n];
while(scanf("%d",&n)!=eof)
{ for(i=0;i0;j--)
{int temp;
if(b[j]
《演算法》選擇排序 插入排序 氣泡排序
選擇排序,演算法 p156 package algorithm public class selection p156 for int i 0 i n i public static void main string args test.sort a 思路 將第乙個元素與剩餘所有元素相比,如果有比第...
排序演算法 氣泡排序 選擇排序 插入排序
氣泡排序演算法 氣泡排序是最簡單的排序演算法之一。此演算法具有二次方程增長階,因此僅適合排序小列表。氣泡排序演算法是階o n 2 的演算法 package com.szy.structure.sort public class bubblesort system.out.println 排序前 fo...
排序演算法 氣泡排序 插入排序 選擇排序
2 穩定性 2.氣泡排序 3.插入排序 4.選擇排序 5.總結 對於演算法,我們首先考慮的就是其時間複雜度和空間複雜度。1 時間複雜度 另外,由於序列順序不一定,不同情況下的時間複雜度也不同,所以我們還要考慮最好情況和最壞情況。2 空間複雜度 這裡引入了乙個新的概念,我們把o 1 的空間複雜度的排序...