1,氣泡排序
原理
目的:按從小到大排序。
方法:假設存在陣列:10, 8, 3, 5, 6, 7, 9
第一輪比較相鄰兩個元素,如果左邊元素大於右邊元素,則交換。
以此類推,第一輪比較之後的結果是:3, 10, 8, 5, 6, 7, 9
經過第一輪比較,最小的元素跑到了第乙個,所以第二輪比較,第乙個元素不需要進行比較了。
第二輪還是從索引i=1和j=2開始比較 ,第三輪、第四輪以此類推。
排序之後的結果:3, 5, 6, 7, 8, 9, 10
**
publicstatic
void main(string
args)
;int temp = 0
;
for (int i = 0; i < arrsort.length; i++)
}
}foreach (var item in
arrsort)
", item));
}console.writeline();
console.readkey();
}
2,遞迴
什麼是遞迴函式/方法?
任何乙個方法既可以呼叫其他方法又可以呼叫自己,而當這個方法呼叫自己時,我們就叫它遞迴函式或者遞迴方法!
通常遞迴有兩個特點:
1.遞迴方法一直會呼叫自己直到某些條件滿足,也就是說一定要有出口;
2.遞迴方法會有一些引數,而它會把這些新的引數值傳遞給自己;(自己調自己);
遞迴通常用於: ①.階乘 ②.斐波拉切數列;
1.階乘
階乘(!)是小於某個數的所有正整數的乘積;
注意:0既不是正整數,又不是負整數;0是整數;
0!=1
1!=1
2!=2*1!=2
3!=3*2!=6
4!=4*3!=24
5!=5*4!=120
...n!=n*(n-1)!
// 遞迴方法:
pubic long factorial(intn) }
你知道的,n的階乘實際上就是n-1的階乘乘以n,且n>0;
它可以表示成factorial(n)=factorial(n-1)*n;
這是方法的返回值,但我們需要乙個條件,也就是出口(注意:遞迴一定要有出口)
如果n=0則返回1;
2.(fibonacci)斐波拉切數列:
fibonacci數列是按以下順序排列的數字:
1,1,2,3,5,8,13,21,34,55....
我們不難發現數列的排列規律是:後乙個數加上前乙個數,以此類推;
如果f0=0並且f1=1那麼fn=f(n-1)+f(n-2);
publiclong fabinacci(int
n)
return fabinacci(i-1)+fabinacci(i-2); //
返回值
}
氣泡排序及遞迴
氣泡排序 li 11,2,3,22 print len li for j in range 1,len li for i in range len li j 由於函式中存在li i 1 那麼要保證li i 1 不越界。此時就需要在迴圈範圍進行限制。從而得出i和j 的最大值。由於最後一次大小比較發生在...
氣泡排序,,,,遞迴
第一種 這種方法氣泡排序 比較相鄰的兩個元素,如果前乙個比後乙個大,則交換位置。第一輪把最大的元素放到了最後面。由於每次排序最後乙個都是最大的,所以之後按照步驟1排序最後乙個元素不用比 function arr sort data arr sort arr 第二種方法時對氣泡排序的改進 宣告乙個變數...
氣泡排序 遞迴
一 氣泡排序 1思想 氣泡排序思想 每一次對比相鄰兩個資料的大小,小的排在前面,如果前面的資料比後面的大就交換這兩個數的位置 要實現上述規則需要用到兩層for迴圈,外層從第乙個數到倒數第二個數,內層從外層的後面乙個數到最後乙個數 2特點 排序演算法的基礎。簡單實用易於理解,缺點是比較次數多,效率較低...