实在是闲来无事,就写写排序算法吧。
1. 实现冒泡排序,python版本的:
# -*- coding: UTF-8 -*-
import random
list = []
for i in range(10):
list.append(round(random.uniform(1,100),1))
def sort(arr):
i = len(arr)
while i >= 0:
for j in range(0, i - 1):
if arr[j] > arr[j + 1]:
temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
i = i - 1
print list
sort(list)
print list
c++版本的:
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
void sort(int*, int n);
int main(int argc, char** argv){
int a[10];
srand(std::time(0));
for(int i = 0; i < 10; i++){
a[i] = rand()%100;
cout << a[i] << endl;
}
sort(a, 10);
cout << "after sort:" << endl;
for(int i = 0; i < 10; i++){
cout << a[i] << endl;
}
}
void sort(int* arr, int n){
for(int i = n; i > 0; i--)
for(int j = 0; j < i - 1; j++)
if(arr[j] > arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
2. 实现选择排序,python版本:
# -*- coding: UTF-8 -*-
import random
list = []
for i in range(10):
list.append(random.randint(1,100))
def sort(arr):
length = len(arr)
for i in range(0,length):
for j in range(i + 1,length):
if arr[i] > arr[j]:
temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
print list
sort(list)
print list
c++版本的:
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
void sort(int*, int n);
int main(int argc, char** argv){
int a[10];
srand(std::time(0));
for(int i = 0; i < 10; i++){
a[i] = rand()%100;
cout << a[i] << endl;
}
sort(a, 10);
cout << "after sort:" << endl;
for(int i = 0; i < 10; i++){
cout << a[i] << endl;
}
}
void sort(int* arr, int n){
for(int i = 0; i < n - 1; i++)
for(int j = i + 1; j < n; j++){
if(arr[i] > arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}