插入排序
初试LiverWriter python..原来python是强类型的动画语言 囧,直接敲代码是有难度,顺便查简明手册。
#!/usr/bin/env python
import sys
import random
def getRandomArr():
arr =[]
for i in range(10):
ran = random.randint(1,100)
arr.append(ran)
return arr;
def insertSort(arr):
for i in range(2,len(arr)):
j=i
while j>0:
if(arr[j]<arr[j-1]):
tmp = arr[j]
arr[j] = arr[j-1]
arr[j-1]=tmp
j=j-1
return arr
unsort = getRandomArr()
for i in unsort:
sys.stdout.write(str(i)+" ")
print
sorted = insertSort(unsort)
for i in sorted:
sys.stdout.write(str(i)+" ")
print
……………………….
倒腾了大半天又整了个C++版,也是第一次写C++程序 哈哈。 传递数组难住我好久。
#include <stdio.h>
#include <iostream>
#include "Sort.h";
using namespace std;
int main(void)
{
Sort *sort = new Sort();
int *p = 0;
p=sort->GetRandArray(p);
sort->InsertSort(p);
printf("\n");
for(int i=0;i<10;i++)
{
printf("%d ",p[i]);
}
int i=0;
cin >> i;
return 0;
}
#include <iostream>
#include <cstdlib>
using namespace std;
class Sort
{
public:
Sort(void);
~Sort(void);
int* GetRandArray(int*);
int* InsertSort(int*);
};
#include "Sort.h"
Sort::Sort(void)
{
}
Sort::~Sort(void)
{
}
int* Sort::GetRandArray(int* p)
{
p = int[10];
for(int i=0;i<10;i++)
{
p[i] = rand() % 100 +1;
printf("%d ",p[i]);
}
return p;
}
int* Sort::InsertSort(int* a){
for(int i=1;i<10;i++)
{
int j =i;
while(j==0)
{
if(a[j]<a[j-1])
{
int tmp=a[j];
a[j]=a[j-1];
a[j-1]=tmp;
}
j--;
}
}
return a;
}
浙公网安备 33010602011771号