C语言第6章1 数组

【例】对10个数从小到大排序 int a[10]; int i,j,t; printf("input 10 numbers :\n"); for (i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for(j=0;j<9;j++) //进行9趟排序 for(i=0;i<9-j;i++) //每趟比较9-j次 if (a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;} //交换两数 printf("the sorted numbers :\n"); for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); 输入各整数 j =0;j<9 i =0;i<9-j a[i]>a[i+1] 真 假 t=a[i] a[i]=a[i+1] a[i+1]=t 输出排序后的数 运行结果: input 10 numbers: 13 20 64 78 21 8 14 30 45 23↙ the sorted numbers: 8 13 14 20 21 23 30 45 64 78 【例】用选择法对数组中的数进行排序 5 7 4 2 8 6 p p=0,a[p]=5 5 7 4 2 8 6 p a[p]与a[1]比,p记下最小元素位置 p=0,a[p]=5 5 7 4 2 8 6 p a[p]与a[2]比,p记下最小元素位置 p=2,a[p]=4 5 7 4 2 8 6 p a[p]与a[3]比,p记下最小元素位置 p=3,a[p]=2 5 7 4 2 8 6 p a[p]分别与a[4],a[5]比, p记下最小元素位置p=3,a[p]=2 j=0;p=j; //j每趟最小值的位置 for(i=j+1;ia[i]) { p=i; } p记下a[0]~a[5]间的最小数的位置。 若p!=j,则调换p位置元素与第j元素的值 5 7 4 2 8 6 p a[p]分别与a[4],a[5]比, p记下最小元素位置p=3,a[p]=2 t=a[j]; a[j]=a[p] ; a[p]=t; 以上是一趟选择排序过程,后面可按此思路,j从1循环至4,从a[j+1]~a[5]中找出最小元素与a[j]交换,那么经过5趟选择排序后,将得到从小到大的顺序数。 2 7 4 5 8 6 j 原始数据: 5 7 4 2 8 6 第1趟排序: 2 7 4 5 8 6 a[0] a[1] a[2] a[3] a[4] a[5] 第2趟排序: 2 4 7 5 8 6 第3趟排序: 2 4 5 7 8 6 第4趟排序: 2 4 5 6 8 7 第5趟排序: 2 4 5 6 7 8 选择法排序过程 // 选择法排序程序 int main() { int i,j,p,t, a[6]={5,7,4,2,8,6}; for(j=0;j<5;j++) { p=j; //标记当前最小元素下标 for(i=j+1;i<=5;i++) //经过5趟排序 { if(a[p]>a[i]) p=i; //比较,记录每趟选 // 择中最小元素位置 } if(p!=j) // 交换j和p位置上的数 { t=a[j];a[j]=a[p];a[p]=t; }

将a数组部分给b数组c语言,C语言第6章1 数组.ppt相关推荐

  1. 【维生素C语言】第十五章 - 柔性数组(可变长数组)

    前言: 本篇将对C99标准中引入的新特性--柔性数组,进行讲解.并探讨柔性数组的优势,简单的介绍内存池的相关概念,来体会柔性数组的优点. 一.柔性数组介绍

  2. js判断数组中重复元素并找出_面试中常遇见的数组去重

    导读 JS数组去重是面试中并不少见的问题,听起来很简单,当你兴高采烈地回答了你的方法之后,你以为这道题就结束了吗?No,一般来说,面试官会继续问你"除了你刚刚说的方法,还有其他更好的方法吗? ...

  3. Python使用numpy函数hsplit水平(按列)拆分numpy数组(返回拆分后的numpy数组列表)实战:水平(按列)拆分二维numpy数组、split函数水平(按列)拆分二维numpy数组

    Python使用numpy函数hsplit水平(按列)拆分numpy数组(返回拆分后的numpy数组列表)实战:水平(按列)拆分二维numpy数组.split函数水平(按列)拆分二维numpy数组 目 ...

  4. C语言哈希表的简单实现——数组+链表(拉链法)

    C语言哈希表的简单实现--数组+链表(拉链法) 1.哈希表简介 哈希表详细介绍可以参考这篇文章 2.哈希表拉链法实现 2.1完全由本人思路实现,如有错误,欢迎批评指正 哈希声明文件hash.h /* ...

  5. C语言在一个有序数组里插入一个元素,使其成为一个新的有序数组

    C语言在一个有序数组里插入一个元素,使其成为一个新的有序数组 #include<stdio.h> int main(){int a[11] = { 1,5,8,9,25,26,31,35, ...

  6. Java数组常用操作,创建,比较,排序,检索,打印数组;copyOf,equals,sort,toString

    创建数组 copyOf 复制指定的数组,截取或用 null 填充 copyOfRange 复制指定范围内的数组到一个新的数组 fill 对数组进行填充 package com.study.array; ...

  7. Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言)

    Leetcode刷题 1441题: 用栈操作构建数组(基于python3和c++两种语言) ** 题目: ** 给你一个目标数组 target 和一个整数 n.每次迭代,需要从 list = {1,2 ...

  8. c语言数组中的字母可以相等吗,C语言数组比较

    C语言数组比较教程 在 要比较两个 C 语言的数组是否相等,我们只有使用 案例 比较两个数组是否相等 通过循环遍历数组来比较数组 #include int main(){ printf("嗨 ...

  9. C语言学习笔记--预编译/宏定义/数组/参数传递/函数指针

    目录 预编译 值传递.指针传递.引用传递 数组 typedef 函数指针 预编译 预编译又叫预处理.预编译不是编译,而是编译前的处理.这个操作是在正式编译之前由系统自动完成的.#define 和 #i ...

最新文章

  1. 「技术综述」有三AI不得不看的技术综述
  2. IOS设计模式学习(1)设计模式初窥
  3. Windows7中快捷方式图标打开方式恢复
  4. 去掉桌面快捷方式小箭头的方法
  5. nioqrc oracle,程序停在 readnocancel () from -lib-tls-libpthread.so.0
  6. 计算机网络—数据链路层的差错控制
  7. mysql insert 性能_MySQL 提高Insert性能
  8. IIS7.5应用程序池集成模式和经典模式的区别介绍
  9. mysql 5个约束条件,Mysql入门第五课《外键约束》
  10. 开源cnc软件_带有开源软件的CNC铣削
  11. 百度网盘不限速下载器 proxyee down for Mac百度网盘高速下载器
  12. 10个免费商用的图片网站分享
  13. 图片资源加密,Lua文件加密详解
  14. 松香的用法(电烙铁焊接)
  15. 网文版ChatGPT来了:大模型辅助写作,澜舟和中文在线联手出品
  16. 苏宁门店数字化白皮书发布 行业数字化进程将再提速
  17. 摄像头8mm可以看多远_解析智能监控摄像头的监控可视范围及距离
  18. 武音官网服务器不稳定,@所有武音er | 恭喜你获得一张教育网WiFi“国际通行证”...
  19. autoit 将输入法修改为英文输入法,获取输入法的值【20190918亲测原创】
  20. 金蝶服务器维护记录,金蝶EAS参考指南-系统管理和维护.doc

热门文章

  1. os2计算机网络,计算机网络 第二章 物理层
  2. csp2020 j2民间数据下载_摊开母婴市场数据集看一看
  3. 可编辑杂志模板|简单的得到一个完整的杂志预先设计版式
  4. UI设计APP素材可编辑模板|底部标签式导航
  5. 值得收藏!UI设计学习借鉴常用网站
  6. 中的listeners_C++中Future和Promise的一种简单实现
  7. velodyne显示点云中grid的单位_孝感好的舞台背景显示屏施工创新服务_胜辉屏安...
  8. Madagascar的宏定义函数--取最值、取整
  9. Live CD|ISO
  10. 虚拟化顶级技术会议KVM Forum演讲分享 | 移动云KVM共享云盘技术实践