冒泡,选择,插入排序方法

来源:互联网 发布:hadoop mac和linux 编辑:程序博客网 时间:2024/05/17 06:55

         冒泡排序

               int i,j,t;
     for(i=0;i<n;i++)
     for(j=0;j<n-i-1;j++)
     {
    if(a[j]>a[j+1])
    {
    t=a[j];
    a[j]=a[j+1];
    a[j+1]=t;
    }
     }


           选择排序

                 int t;   
     for(int i=0;i<n;i++)
     {
     min=i;
     for(int j=i+1;j<n;j++)
     {
     if(a[min]>a[j])
     min=j;
     }
     if(min!=i)
     {
    t=a[i];
    a[i]=a[min];
    a[min]=t;
     
     }
     }

         插入排序

                 int i,j,t;
for(i=1;i<n;i++)  //i表示插入次数,共进行n-1次插入
{
t=a[i];//把待排序元素赋给temptempwhile循环中并不改变,这样方便比较,并且它是要插入的元素
j=i-1;
while((j>=0)&&(t<a[j]))//while循环的作用是将比当前元素大的元素都往后移动一个位置
{
a[j+1]=a[j];
j--;  // 顺序比较和移动,依次将元素后移动一个位置
}
a[j+1]=t;/元素后移后要插入的位置就空出了,找到该位置插入

}

0 0