简单排序(冒泡,选择,交换,插入)
2009-11-19 23:42
197 查看
冒泡排序:最简单的排序方式,也是最慢的。
#include "stdio.h"
void sort(int s[],int n)
{ int i;
int j;
int temp;
for(i=1;i<n;i++)
{
for(j=n-1;j>=i;j--)
{
if(s[j]<s[j-1])
{
temp=s[j-1];
s[j-1]=s[j];
s[j]=temp;
}
}
}
}
void main()
{
int i;
int arry[]={9,6,7,8,3,4};
sort(arry,6);
for(i=0;i<6;i++)
{
printf("%d ",arry[i]);
}
getch();
}
交换排序:每次用当前的元素一一的同其后的元素比较并交换。
#include "stdio.h"
void sort(int s[],int n)
{
int i,j,temp;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{ if(s[j]<s[i])
{
temp=s[j];
s[j]=s[i];
s[i]=temp;
}
}
}
}
void main()
{
int i;
int arry[]={9,6,7,8,3,4};
sort(arry,6);
for(i=0;i<6;i++)
{
printf("%d ",arry[i]);
}
getch();
}
选择排序:从数据中选择最小的同第一个值交换,再从剩下的数据中选择最小的同第二个交换,依次进行下去。
#include "stdio.h"
void sort(int s[],int n)
{
int i,j,temp;
int a;
for(i=0;i<n;i++)
{
temp=s[i];
a=i;
for(j=i+1;j<n;j++)
{
if(s[j]<temp)
{
temp=s[j];
a=j;
}
}
s[a]=s[i];
s[i]=temp;
}
}
void main()
{
int i;
int arry[]={9,6,7,8,3,4};
sort(arry,6);
for(i=0;i<6;i++)
{
printf("%d ",arry[i]);
}
getch();
}
插入排序:基本原理就是抽出牌,在前面的牌中找出相应的位置插入,然后继续下一张。
#include "stdio.h"
void sort(int s[],int n)
{
int temp;
int i;
int a ;
for(i=1;i<n;i++)
{
temp=s[i];
a=i-1;
while((a>=0)&&(temp<s[a]))
{
s[a+1]=s[a];
a--;
}
s[a+1]=temp;
}
}
void main()
{
int i;
int arry[]={9,6,7,8,3,4};
sort(arry,6);
for(i=0;i<6;i++)
{
printf("%d ",arry[i]);
}
getch();
}
#include "stdio.h"
void sort(int s[],int n)
{ int i;
int j;
int temp;
for(i=1;i<n;i++)
{
for(j=n-1;j>=i;j--)
{
if(s[j]<s[j-1])
{
temp=s[j-1];
s[j-1]=s[j];
s[j]=temp;
}
}
}
}
void main()
{
int i;
int arry[]={9,6,7,8,3,4};
sort(arry,6);
for(i=0;i<6;i++)
{
printf("%d ",arry[i]);
}
getch();
}
交换排序:每次用当前的元素一一的同其后的元素比较并交换。
#include "stdio.h"
void sort(int s[],int n)
{
int i,j,temp;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{ if(s[j]<s[i])
{
temp=s[j];
s[j]=s[i];
s[i]=temp;
}
}
}
}
void main()
{
int i;
int arry[]={9,6,7,8,3,4};
sort(arry,6);
for(i=0;i<6;i++)
{
printf("%d ",arry[i]);
}
getch();
}
选择排序:从数据中选择最小的同第一个值交换,再从剩下的数据中选择最小的同第二个交换,依次进行下去。
#include "stdio.h"
void sort(int s[],int n)
{
int i,j,temp;
int a;
for(i=0;i<n;i++)
{
temp=s[i];
a=i;
for(j=i+1;j<n;j++)
{
if(s[j]<temp)
{
temp=s[j];
a=j;
}
}
s[a]=s[i];
s[i]=temp;
}
}
void main()
{
int i;
int arry[]={9,6,7,8,3,4};
sort(arry,6);
for(i=0;i<6;i++)
{
printf("%d ",arry[i]);
}
getch();
}
插入排序:基本原理就是抽出牌,在前面的牌中找出相应的位置插入,然后继续下一张。
#include "stdio.h"
void sort(int s[],int n)
{
int temp;
int i;
int a ;
for(i=1;i<n;i++)
{
temp=s[i];
a=i-1;
while((a>=0)&&(temp<s[a]))
{
s[a+1]=s[a];
a--;
}
s[a+1]=temp;
}
}
void main()
{
int i;
int arry[]={9,6,7,8,3,4};
sort(arry,6);
for(i=0;i<6;i++)
{
printf("%d ",arry[i]);
}
getch();
}
相关文章推荐
- 图解排序算法(一)之3种简单排序(选择,冒泡,直接插入)
- java八大排序算法(一)之3种简单排序(选择,冒泡,直接插入)
- 简单排序(冒泡、插入、选择)
- 图解排序算法(一)之3种简单排序(选择,冒泡,直接插入)
- 简单排序(冒泡、选择、插入)总结
- Java -- 简单排序(冒泡、选择、插入)
- 图解排序算法(一)之3种简单排序(选择,冒泡,直接插入)
- 选择,插入,交换,冒泡,希尔排序算法的效率比较
- 八大排序算法:插入(2:插入、希尔)、选择(2:选择、堆)、交换(2:冒泡、快速)、归并、基数
- 简单排序:插入,选择和冒泡
- 数据结构基础7.1:简单排序(冒泡、选择、插入)
- Java数据结构与算法-读后感01(简单排序:冒泡,选择,插入)
- 简单排序(冒泡、选择、插入)
- JAVA数据结构:简单排序(冒泡,选择,插入)
- php&nbsp;冒泡&nbsp;插入&nbsp;交换法&nbsp;选择…
- 六、内部排序综合(九种)—插入类排序(直接插入、折半插入、希尔排序);交换类排序(冒泡、快速);选择类排序(简单选择、堆排序);二路归并排序;基数排序
- 三种简单排序(冒泡、插入、选择)的比较和图解
- 增强前面的数组 - 简单排序(冒泡,选择,插入)
- 简单排序(冒泡 选择 插入)
- 3种简单排序(选择,冒泡,直接插入)