交换算法— 快速排序、冒泡法;选择法

快速排序:

int Partition(SqList &L, int low, int high)

{         L.r[0]=L.r[low];

         pivotkey = L.[low].key;

         while (low<high)

         {          while (low<high&&L.r[high].key >= pivotkey) --high;

                     L.r[low] = L.r[high];

                     while (low<high&&L.r[low].key <= pivotkey)++low;

                     L.r[high]= L.r[low];

         }

         L.r[low] =L.r[0];

         return low;

}  //数据结构C语言版 清华大学出版社P274算法10.6(b)

选择法:

for( i=0;i<N-1;i++)  //从大到小

{        k=i;

         for(j=i+1;j<N;j++)

               if(a[k]<a[j]) k=j;

        if(k!=i)       { t=a[i];a[i]=a[k];a[k]=t;}

}

冒泡法:

for( i=0;i<N-1;i++)  //从大到小

{       flag=0;

         for(j=0;j<N-i-1;j++)

               if(b[j]<b[j+1])  { t=b[j];b[j]=b[j+1];b[j+1]=t;flag=1;}

}

猜你喜欢

转载自blog.csdn.net/weixin_41036461/article/details/88670575