开发者社区> 问答> 正文

编写程序,使用“冒泡排序法”实现任意十个数的排序

编写程序,使用“冒泡排序法”实现任意十个数的排序

展开
收起
知与谁同 2018-07-22 15:44:07 2070 0
2 条回答
写回答
取消 提交回答
  • 这是VB编的冒泡法代码. 望采纳.
    Dim m, i, j As Integer
    Static n As Integer
    n=0 '已沉底的数(大数的个数)
    For i = 1 To 10 - n '对剩余数进行排序
    For j = 0 To 9-i '9-i次比较
    If a(j) > a(j + 1) Then
    m = a(j)
    a(j) = a(j + 1)
    a(j + 1) = m
    End If
    Next j
    n = n + 1 '大数沉底,此为个数
    Next i
    2019-07-17 22:50:07
    赞同 展开评论 打赏
  • 杀人者,打虎武松也。
    //C++下的冒泡排序
    #include <iostream>
    using namespace std;
    int main(){
    int sort[10],i,j,tMax;
    cout<<"请输入10个数:"<<endl;
    for(i=0;i<10;i++)
    cin>>sort[i];
    for(i=1;i<=9;i++) //10个数需要10-1趟比较
    for(j=0;j<10-i;j++) //第i趟需要10-i次比较
    if(sort[j]>sort[j+1]){
    tMax = sort[j];
    sort[j] = sort[j+1];
    sort[j+1] = tMax;
    }
    cout<<"从小到大排序:";
    for(i=0;i<10;i++)
    cout<<sort[i]<<" ";
    cout<<endl;
    }

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

    1.冒泡排序法是非常基础的排序方法。如果升序排列一些数,每相邻的两个数对比,大的放在后面,每一次比较都将最大的数字放在最后,故称为冒泡法。

    2.冒泡法排列时间复杂度O(n^2),小量数据排序比大量数据排序要优越的多。

    3.冒泡法主体是两个for循环和两个数的交换。

    4.实例: #include <iostream>
    using namespace std;
    int main(int argc, char *argv[])
    {
    int array[10]={5,7,8,2,3,1,4,9,0,6};

    cout<<"排序前:"; 
    for(int i = 0;i < 10;i++)
    {
    cout<<array[i]<<" ";
    }
    cout<<endl;

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

    cout<<"排序后:"; 
    for(int i = 0;i < 10;i++)
    {
    cout<<array[i]<<" ";
    }
    cout<<endl;

    return 0;
    }

    运行结果:

    2019-07-17 22:50:07
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载