排序算法之快速排序
今天覆習了一下排序算法中的快速排序算法,算是對大學學習的一種回顧吧,只是溫故而知新而已!
基本思想:
void quickSort(int a[],int size){
int i=0;
int j =size;
int value = a[0];
if(size>1){
while(i<j){
for(;j>i;j--){
if(a[j]<value){
a[i]=a[j];
break;
}
}
for(;i<j;i++){
if(a[i]>value){
a[j] =a[i];
break;
}
}
}
a[i] = value;
quickSort(a,i);
quickSort(a+i+1,size-i-1);
}
}
其實這個快速排序算法沒有特別的難度!
插入排序
主要思想:
void insert_sort(int *array,unsigned int n)
{
int i,j;
int temp;
for(i=1; i<n; i++)
{
temp=*(array+i);
for(j=i; j>0&&*(array+j-1)>temp; j--)
{
*(array+j)=*(array+j-1);
}
*(array+j)=temp;
}
}