冒泡排序
  1. C语言在运行的时候,不会帮我们检查数组的下标。
  2. 冒泡排序:有n个数字,需要进行 n - 1 趟比较大小(元素的个数减去 1)。外层循环 for( int i = 0; i < count - 1; i ++)
  3. n 个数字 第一趟比较的次数是 n - 1 ,第n趟比较的次数是 n - 1 次。
  4. 比较的趟的序号 i 与 该趟比较的次数 n - 1  相加之和等于数组元素的个数。内层循环  for ( int j = 0; j < count - 1 -i ; j ++ )
  5. 需要比较的趟数 = 元素个数 - 1,也就是外层循环。
  6. 拿前者与后者与后者进行比较,如果前者比后者大就交换位置
  7.  //数组有20 个元素【 20 50 】,安升序排序
    int a[] = { };
    for (int i = ; i < ; i++) {
    a[i] = arc4random() % ( - + ) + ;
    printf(" a[%d] = %d \t",i,a[i]);
    }
    for (int i = ; i < ; i++) {
    for (int j = ; j < - i; j++) {
    if (a[j] > a[j + ]) {
    int temp = a[j];
    a[j] = a[j + ];
    a[j + ] = temp;
    }
    }
    }
    printf("按升序排好序的数组:\n");
    for (int i = ; i < ; i++) {
    printf("a[%d] = %d \t ",i,a[i] );
    } //数组有 10个元素【 10 40】,按降序排序
    int a[] = { };
    int count = ;
    for (int i = ; i < ; i++) {
    a[i] = arc4random() % ( - + ) + ;
    printf("a[%d] = %d \t",i, a[i]);
    }
    for (int i = ; i < count - ; i++) {
    for (int j = ; j < count - -i ; j++) {
    if (a[j] < a[j + ]) {
    int temp = a[j];
    a[j] = a[j + ];
    a[j + ] = temp;
    }
    }
    }
    printf("按降序排好序的数组:\n");
    for (int i = ; i < ; i++) {
    printf("a[%d] = %d \t ",i,a[i]);
    }

    7.

    //字符数组 字符型的数组 用来存放字符型的变量

    char a[20] = "you are beautiful";

    //字符串 就是一个字符数组

    char carr[20] = {'i','z','v','f','r','r','r','r','r'};

    //字符串的形式 比 字符数组 多一个 ’\o‘ 空格

  8. char a1[] = "henan";

    char a2[] = {'h','e','n','a','n'};

    printf("%lu---%lu \n",sizeof(a1),sizeof(a2));//sizeof();  使用的格式化输出符号是    %lu

  9. 在定义字符串字符个数的时候,要定义它为 可使用的个数+1 个。可以用  for 循环去遍历字符数组的元素。char cc[100]='' sddfgdfghdfh''  字符串 int a = sizeof(cc)/ 1结果为 100个能够使用的,这是因为他已经定义为固定长度的了。字符串是双引号引起来的,实际上就是一个字符数组,他与字符数组的区别就是以 ‘\0’ 未结束标志。
  10. strlength(); 求字符串长度的函数  例如: ;
  11. 字符串拷贝 strcpy ( 拷贝字符串的目标, 要拷贝的字符串)他是整体替换
  12. 字符串拼接 strcat(拼接目标,拼接字符串)   就是用后面的 “ 拼接字符”  换替换 “ 拼接目标” 后面的 \0 。
  13. 字符串比较 strcmp (字符串1, 字符串2).分别把字符串1 字符串2),对应位置的字母取出来,然后用前面的对应的字母的Ascaii 减去 后面的字符串的对应的字母的Ascii 与0比较,一旦比较出大小就立即停止,大于0就是说 字符串1 大于 字符串2
  14. %s 是格式转换符printf(" %s ", 字符串);。
  15. 代码实战
  16. char str[] = "my name chenshiya is";
    // int max = 0, lsum = 0, length = 0, k = 0;
    // for (int i = 0; i < 30; i++) {
    // if (str[i] != ' ' && str[i] != '\0') {
    // lsum++;//记录单词长度;
    // }
    // if (str[i] == ' ' || str[i] == '\0') {
    // length = lsum;
    // lsum = 0;
    // if (length > max) {
    // max = length;
    // k = i; //标记最长单词的位置.
    // }
    // }
    // }
    // printf("\n最长的单词是:\n");
    // for (int i = k - max; i < k; i++) {
    // printf("%c", str[i]);
    // }
    // printf("\n");
    //求一个 2/1 3/2 5/3 8/5 13/8 21/13 .....的前20个数的和
    int i;
    float a, b, c, s; a = b = 1.0;
    c = 0;
    s = 0;
    for(i = 0; i < 20; i++)
    {
    c = a + b;
    s = s + c / a;
    printf("%.0f/%.0f ", c, a);
    b = a;
    a = c;
    }
    printf("\n%f\n", s);

    难点是:写程序的方法的实现,比如说鞍点问题

C:冒泡排序的更多相关文章

  1. [C#][算法] 用菜鸟的思维学习算法 -- 马桶排序、冒泡排序和快速排序

    用菜鸟的思维学习算法 -- 马桶排序.冒泡排序和快速排序 [博主]反骨仔 [来源]http://www.cnblogs.com/liqingwen/p/4994261.html  目录 马桶排序(令人 ...

  2. 算法与数据结构(十三) 冒泡排序、插入排序、希尔排序、选择排序(Swift3.0版)

    本篇博客中的代码实现依然采用Swift3.0来实现.在前几篇博客连续的介绍了关于查找的相关内容, 大约包括线性数据结构的顺序查找.折半查找.插值查找.Fibonacci查找,还包括数结构的二叉排序树以 ...

  3. Html5 冒泡排序演示

    冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要 ...

  4. javascript冒泡排序

    数组冒泡排序算法(升序) 升序:小数在前,大数在后 冒泡排序的原则:每次比较相邻两个元素,如果前一个数>后一个数,说明违反升序的要求,就将两数交换位置.否则,保持不变.继续比较下一对. 例如:玩 ...

  5. Java中的经典算法之冒泡排序(Bubble Sort)

    Java中的经典算法之冒泡排序(Bubble Sort) 神话丿小王子的博客主页 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一 ...

  6. C#冒泡排序算法

    用了两种形式的数据,一个是泛型List,一个是数据int[].记录一下,作为自己学习过程中的笔记. using System; using System.Collections.Generic; us ...

  7. python排序之二冒泡排序法

    python排序之二冒泡排序法 如果你理解之前的插入排序法那冒泡排序法就很容易理解,冒泡排序是两个两个以向后位移的方式比较大小在互换的过程好了不多了先上代码吧如下: 首先还是一个无序列表lis,老规矩 ...

  8. 以冒泡排序为例--malloc/free 重定向stdin stdout

    esort.c 代码如下,可关注下mallloc/free,freopen重定向的用法,排序为每轮将最小的数放在最前面: #include<stdio.h> #include<mal ...

  9. 浅谈C++之冒泡排序、希尔排序、快速排序、插入排序、堆排序、基数排序性能对比分析之后续补充说明(有图有真相)

    如果你觉得我的有些话有点唐突,你不理解可以想看看前一篇<C++之冒泡排序.希尔排序.快速排序.插入排序.堆排序.基数排序性能对比分析>. 这几天闲着没事就写了一篇<C++之冒泡排序. ...

  10. 排序算法总结第二弹----冒泡排序---javascript描述

    上篇博文总结了选择排序,这篇来看冒泡排序,接上篇. 冒泡排序思想:若是正再将一组数据升序排序, 第一趟:比较相邻的数据,当左侧值大于右侧值将他们进行交换,将较小值向前浮动,大值向后冒泡,直至比较到最后 ...

随机推荐

  1. SELinux Mysql的error-log文件位置的指定

    SELinux下,在配置my.cnf时,必须指定error-log的位置在/var/log/下, 否则error的默认位置为例如 /var/lib/mysql下的tyoyi.server.err文件, ...

  2. Android手机部分名词浅谈

    1.什么是Radio? Radio是无线通信模块的驱动程序,ROM是系统程序,radio负责网络通信,ROM和Radio可以分开刷,互不影响.如果您的手机刷新了ROM后有通讯方面的问题可以刷新radi ...

  3. Struts2配置之Struts.properties

    Struts 2框架有两个核心配置文件,其中struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等.除此之 外,Struts 2框架还包含     s ...

  4. Linux 设备驱动 Edition 3

    原文网址:http://oss.org.cn/kernel-book/ldd3/index.html Linux 设备驱动 Edition 3 By Jonathan Corbet, Alessand ...

  5. Java条件语句之 switch

    当需要对选项进行等值判断时,使用 switch 语句更加简洁明了.例如:根据考试的名次,给予前 4 名不同的奖品.第一名,奖励笔记本一台:第二名,奖励 IPAD 2 一个:第三名,奖励移动电源一个:最 ...

  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.1.系统界面报错Gnome

    1.错误信息:登录系统后,屏幕弹出几个错误对话框,无菜单.无按钮 GConf error: Failed to contact configuration server; some possible ...

  7. php生成 Arduino 12864 汉字内码

    $ch = "你"; $ch = iconv("UTF-8","GB2312",$ch); $xx= sprintf("%X&qu ...

  8. 利用COPYDATASTRUCT传递命令行参数给驻留内存的进程(SendMessage应用)

    我们知道Window进程之间通过API的SendMessage方法传递消息.但是方法参数lParam是Long型,那么如果传递一个字符串(譬如命令行参数)应该怎么办呢,甚至一个对象.结构呢.VB的发送 ...

  9. linux下使用go-oci8

    地址:https://github.com/wendal/go-oci8 它是 https://github.com/mattn/go-oci8 的分支. win下安装步骤参考:http://www. ...

  10. LR录制脚本IE不能打开解决方法

    运行环境:win7 64位 解决方法:1.卸载IE11 2.计算机——属性——高级系统设置——性能里的设置——数据执行保护——选择“为除下列选定程序之外的所有程序和服务启用”——添加IE浏览器和VUG ...