⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 冒泡排序.txt

📁 c语言排序
💻 TXT
字号:
 Espate studio


--------------------------------------------------------------------------------

冒泡排序

基本思想:
       对当前还未排好序的范围内的全部结点,自上而下对相邻的两个结点依次进行比较和调整,让键值较大的结点往下沉,键值较小的结点往上冒。即当两相邻结点比较后发现他们的排列顺序与排序要求相反,就将他们交换

参考程序

     假设一个数组e[n],n为元素个数,冒泡排序如下:

void maopao(int e[],int n)

{

  int i,j,k;

  for(i=n-1;i>0;i--)

     for(j=0;j<i;j++)

      {

          if (e[j]>e[j+1]) 

            {

                 k=e[j];

                 e[j]=e[j+1];

                 e[j+1]=k;

            }

       }

 }

模拟:设e[5]={2,5,3,1,0}

变化如下:
2,5,3,1,0

2,3,5,1,0

2,3,1,5,0

2,3,1,0,5

2,1,3,0,5

2,1,0,3,5

1,2,0,3,5

1,0,2,3,5

0,1,2,3,5

程序的改进:

void maopao(int e[],int n)

{

  int i,j,k,p;

  for(i=n-1;i>0;i=p)

     for(p=j=0;j<i;j++)

      {

          if (e[j]>e[j+1]) 

            {

                 k=e[j];

                 e[j]=e[j+1];

                 e[j+1]=k;

                 p=j;

            }

       }

 }

  读者可自行模拟

adiwei

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -