C语言 数组 排序

一、C语言编写程序对齐的操作:

单行对齐   命令模式     按 两下 ==
多行对齐:  shift+v 选中  按一下 =  
 全局对齐:   起始行 = 结束行  gg      G(shift + g) 

二、数组:
 一组相同类型的数据的集合

int score1;
int score2;
int score3;
int scoreN; //40

一次性定义多个变量?  //本质上是 相同类型变量的集合

集一维数组    二维数组     整型     字符型
---------------------
语法: //定义一个数组
类型说明符 数组名[常量表达式];
   
(1).类型说明符
    整型
       int,short,long ,long long
    浮点
    字符  //基本数据类型
    
(2).数组名
    代表着 数据合 (内存空间的一个名字)
    数据类型角度
    1. a代表整个数组类型
    2. a代表一个值 --数组首元素的地址
    
(3).[   ] //表示此时定义的是一个 数组
(4).常量表达式
    表示数组的长度 --- 变量的个数
eg:
int array[5]; //定义一个数组,这个数组放了5个 int型变量
           数组本身也是一种数据类型
            int[10] a; //a所代表的类型 int[10]
           //a数组名 标识符
           //a ---把名字去掉 ,剩下的就是名字对应的数据类型
           int a[10]; //数组在内存空间上的特点

数组下标:    本质上是 偏移量  
   

赋值的方式 --- 给数组中输入一些值?
scanf("%d",&a[i]); //


数组的特点:
1.连续性 --一片连续空间
2.有序性 --元素依次存储
3.单一性 --单一类型的元素


 

4.注意
 a.数组名
   代表的数据类型 --数组类型 int a[10]; //a所代表的类型为int[10] //数组类型
   代表的值      --数组首元素的地址   // &a[0]
   
 b.数组长度 与 下标
   数组长度 --表示几个元素(变量)
   下标 --偏移量     [0~数组长度-1]
   int a[10];       [0~9]
5.数组的初始化
int a[10] = {1,2,3,4,5,6,7,8,9,10}; //全a[i] //下标运算 ---本质 实际是一个地址的运算
下标本质上一个偏移量  

总结:
1.数组概念
  数组 一组相同类型数据(变量)的集合
2.语法
  数据类型 数组名[数组长度];
3.定义
 int a[10];
 
 连续性
 有序性
 单一性部初始化
int a[10] = {1,2,3,4,5};  //部分初始化--依次给到数组元素 ,没有给值的元素,默认初始化为0
将数组初始化为0
int a[10] = {}; //都初始化为0
int a[10] = {0}; //都初始化为0
数组不初始化 ---数组中为垃圾值

6、数组长度可以省略
  1)、前提 --必须要有初始化的值.
  2)、int a[] = {1,2,3}; //编译器会通过值来计算机 数组长度.
  3)、 数组赋值      不能整体赋值.
  4)、数组赋值,需要一个元素一个元素个给到 。
选择排序:
为合适的位置,选择一个合适的数 
0 1 2 3 4 5 6 7  //下标
1 5 3 6 8 7 2 4  //数值

0号位置:
   找最小值
   i = 0;
   for (j = 1; j < len; ++j)
   {
       if (a[j] < a[0])
       {
          交换
       }
   }
   
1号位置:
   找最小值
   i = 1;
   for (j = 2; j < len; ++j)
   {
       if (a[j] < a[1])
       {
          交换
       }
   }   

   
   
   for (i = 0; i < len-1; ++i)  //位置 i = len-1  ---控制位置
   {
      //找最小值
       //i = 1;
       for (j = i+1; j < len; ++j) //找数
       {
           if (a[j] < a[i])
           {
              交换
           }
       }   
   }

冒泡排序:

选择排序

  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值