简单的几种排序方法
2011-12-14 17:12
274 查看
排序方法 | 最坏时间复杂度 | 最好时间复杂度 | 平均时间复杂度 |
直接插入排序 | O(n*n) | O(n) | O(n*n) |
简单选择排序 | O(n*n) | O(n*n) | O(n*n) |
冒泡排序 | O(n*n) | O(n) | O(n*n) |
快速排序 | O(n*n) | O(nlog2n) | O(nlog2n) |
堆排序 | O(nlog2n) | O(nlog2n) | O(nlog2n) |
归并排序 | O(nlog2n) | O(nlog2n) | O(nlog2n) |
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
直接插入排序实例:
void insert_sort(int r[],int rlong)
{
int i,j,temp;
for(i=2;i<rlong;i++)
{
temp=r[i];
for(j=i;j>0;j--)
{
if(temp<r[j-1])
{
r[j]=r[j-1];
}else
{
break;
}
}
r[j]=temp;
}
[align=left] [/align]
[align=left]简单选择排序实例:[/align]
void select_srot(int r[], int n)
{
int i,j,ktemp;
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;i<n;j++)
{
if(a[k]>a[j])
{
k=j;
}
}
if(k!=i)
{
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
}
[align=left] [/align]
[align=left] [/align]
[align=left]冒泡排序实例:[/align]
void bubbl_sort(int r[], int n)
{
int i,j,temp;
for(i=0;i<n;i++)
{
for(j=i;j<n-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[i]=a[j];
a[j]=temp;
}
}
}
}
[align=left] [/align]
[align=left]快速排序实例:[/align]
void quick_sort(int r[],int first,int end)
{
int i=first,j=end,temp=r[first];
while(i<j)
{
while(i<j&&r[j]>=temp) j--;
r[i]=r[j];
while(i<j&&r[i]<=temp) i++;
r[j]=r[i];
}
e[i]=temp;
if(first<i-1)
quick_sort(r,first,i-1);
if(end>i+1)
quick_sort(r,i+1,end);
}
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
相关文章推荐
- ios几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- iOS几种简单有效的数组排序方法
- 几种常用排序方法的简单实现
- ios的几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- Java简单实现几种常见排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- HLG 几种简单排序方法 && sort与qsort的区别
- IOS几种简单有效的数组排序方法(原文:http://hi.baidu.com/ivan_xu/item/5d897c14d51bffe0ddeeca7c)
- ios的几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- IOS几种简单有效的数组排序方法
- 《面试》 几种经典的简单的排序方法(冒泡,选择,插入)python实现