数据结构和算法--排序篇(一边复习一边更新)

冒泡排序:

C++:

 1 void bubble(int a[],int n){
2
3 //冒泡排序
4 for (int i=n-1;i>0;i--){
5 for(int j=0;j<i;j++){
6 if(a[j]>a[j+1]){
7 int temp=a[j];
8 a[j]=a[j+1];
9 a[j+1]=temp;
10
11
12 }
13
14
15 }
16
17
18 }
19
20 }

python:

if __name__ == '__main__': 
#以main形式运行
a=[0,4,3,2,1]
def bubblesort(numbers):
#python for语句精髓所在 range(起点,开区间末点,步长)
for j in range(len(numbers)-1,-1,-1):
for i in range(j):
if numbers[i]>numbers[i+1]:
numbers[i],numbers[i+1] = numbers[i+1],numbers[i]
print(i,j)
print(numbers)

bubblesort(numbers=a)
print a

插入排序:

C++

void insertSort(int a[],int length){
int j;
for(int i=1;i<length;i++){
int temp =a[i];
for( j=i;j>0&&temp<a[j-1];j--){
a[j]=a[j-1];
}
a[j]=temp;
}

}

python

def insertsort(numbers):
for j in range(1,len(numbers),1):
temp=numbers[j]

#选择性插入或移位
for k in range(j,0,-1):
if temp>=numbers[k-1]:
numbers[k]=temp
break
numbers[k]=numbers[k-1]






posted @ 2012-02-07 23:11  代码商人  阅读(197)  评论(0)    收藏  举报