冒泡排序复习

1.首先搜看一下冒泡排序的gif动态图

2.自己再抛开动态图,在白纸上画一遍

原始待排序数组| 7 | 2 | 3 | 1 | 4 |


第一趟排序(外循环)

                          第一次两两比较7> 2交换(内循环)

                          交换前状态7 | 2 | 3 | 1 | 4 |

                          交换后状态| 2 | 7 | 3 | 1 | 4 |

 

                         第二次两两比较,7 > 3交换(内循环)

                          交换前状态| 2 | 7 | 3 | 1 | 4 |

                          交换后状态| 2 | 3| 7 | 1 | 4 |

 

                        第三次两两比较,7 > 1交换

                        交换前状态| 2 | 3| 7 | 1 | 4 |

                        交换后状态| 2 | 3| 1 | 7| 4 |

 

                         第四次两两比较,7 > 4交换

                         交换前状态| 2 | 3| 1 | 7| 4 |

                         交换后状态| 2 | 3| 1 | 4| 7 |


第二趟排序(外循环)

                       第一次两两比较2 < 3不交换

                       交换前状态| 2 | 3| 1 | 4| 7 |

                       交换后状态| 2 | 3| 1 | 4| 7 |

 

                       第一次两两比较3 >1交换

                       交换前状态| 2 | 3| 1| 4| 7 |

                       交换后状态| 2 | 1| 3| 4| 7 |


                       第一次两两比较3 < 4不交换

                       交换前状态| 2 | 1| 3| 4| 7 |

                       交换后状态| 2 | 1| 3| 4| 7 |

第三趟排序(外循环)

                       第一次两两比较2 > 1交换

                       交换前状态| 2 | 1| 3| 4| 7 |

                       交换后状态| 1 | 2| 3| 4| 7 |


排序完毕,输出最终结果1 2 3 4 7 

3.在loadrunner中的代码实现

int Action2(int argc, char *argv[])
{
    int a[10]={
        -999,2,3,77,12,88,0,-8,99,100
    };
    int i=0;
    sort(a,10);
    for(i=0;i<10;i++)
    {
        lr_output_message("%d ",a[i]);
    }
    return 0;
}

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


运行结果:

Starting action Action2.
Action2.c(10): -999
Action2.c(10): -8
Action2.c(10): 0
Action2.c(10): 2
Action2.c(10): 3
Action2.c(10): 12
Action2.c(10): 77
Action2.c(10): 88
Action2.c(10): 99
Action2.c(10): 100
Ending action Action2.





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值