zoukankan      html  css  js  c++  java
  • 2.冒泡排序----还是不懂,先记录下来

      1 /*
      2     冒泡排序: 效率很低,速度慢...不适合大量数据排序
      3 
      4     原理:从左向右扫描数据,选择交大的数据,放在右边,进行交换
      5     关于i和j的说明
      6 */
      7 #include "Bubble.h"
      8 #include <stdio.h>
      9 #include <iostream>
     10 using namespace std;
     11 
     12 void BubbleSort(int list[],int n);
     13 void PrintArray(int list[],int n);
     14 void BubbleSortBigToSmall(int list[],int n);
     15 int main()
     16 {
     17 
     18     const int nLen=10;
     19     int list[nLen] = {1,3,5,7,9,2,4,6,8,0};
     20 
     21 
     22     //从小到大排序
     23     cout<<"交换前的数据:    ";
     24     PrintArray(list,nLen);
     25     BubbleSort(list,nLen);
     26     cout<<"
    交换后的数据:    ";
     27     PrintArray(list,nLen);
     28 
     29 
     30 
     31     //从大到小排序
     32     cout<<"
    交换后的数据:    ";
     33     BubbleSortBigToSmall(list,nLen);
     34     PrintArray(list,nLen);
     35 
     36 
     37     cout<<"
    hello world"<<endl;
     38     system("pause");
     39     return 0;
     40 }
     41 
     42 
     43 //从小到大排序
     44 void BubbleSort(int list[],int n)
     45 {
     46 
     47     for (int i=0;i<n-1;i++)
     48     {
     49         for (int j=0;j<n-1-i;j++)
     50         {
     51             if (list[j] > list[j+1])            // 比较运算符决定 从大到小,还是从小到大排序
     52             {
     53                 std::swap(list[j],list[j+1]);    //这个swap()是c++自带的交换函数
     54             }
     55         }
     56     }
     57 
     58     return ;
     59 }
     60 
     61 
     62 //从大到小排序
     63 void BubbleSortBigToSmall(int list[],int n)
     64 {
     65 
     66     for (int i=0;i<n-1;i++)
     67     {
     68         for (int j=0;j<n-1-i;j++)
     69         {
     70             if (list[j] < list[j+1])
     71             {
     72                 std::swap(list[j],list[j+1]);
     73             }
     74         }
     75     }
     76 
     77     return ;
     78 }
     79 
     80 //打印数组元素
     81 void PrintArray(int list[],int n)
     82 {
     83 
     84     for (int i=0;i<n;i++)
     85     {
     86         cout<<list[i]<<"  ";
     87     }
     88 
     89     return;
     90 }
     91 
     92 
     93 //获取数组的长度                这个留着以后来补充,暂时不知道怎么计算数组的长度
     94 int GetArrayLen(int list[])
     95 {
     96     int nSize=0;
     97     
     98     while (true)
     99     {
    100         //通过异常来捕获越界
    101 
    102         nSize++;
    103     }
    104 
    105 
    106     return nSize;
    107 }
    108 
    109 
    110 //找出数组中的最大数
    111 int GetMax(int list[],int nLen)
    112 {
    113 
    114     int temp=0;
    115     for (int i=0;i<nLen;i++)
    116     {
    117         if (list[i] > temp)
    118         {
    119             temp = list[i];
    120         }
    121     }
    122 
    123     printf("
    temp=%d
    ",temp);
    124 
    125     return temp;
    126 }
  • 相关阅读:
    wepack性能优化-contenthash(缓存)
    webpack优化系列-oneOf
    webpack性能优化-source-map
    webpack性能优化-HMR
    vue__之路由懒加载
    vue__之ref的作用
    圆面积和球体积
    算法思想
    看完com本质论第一章
    windows消息机制
  • 原文地址:https://www.cnblogs.com/Froger/p/6777821.html
Copyright © 2011-2022 走看看