数组

字符数组:是一块变量空间。可被修改!

字符串:是一块连续且同字符类型的常量空间,不可被修改!

 1、系统会在字符串末尾添加\0  (无论末尾是否添加\0,都会添加\0)

二维和多维数组:

 二维数组定义:类型 数组名[行][列];

 空间长度:sizeof(int)*行*列

 元素个数: 行*列

 引用元素:需要确定哪一行哪一列的元素  数组[行][列]

  注:列从0开始
 
排序算法:

1,冒泡排序:两两比较

char buf[]="195264387";

    int i,j;

    for(i=0;i<strlen(buf);i++)

    {

       for(j=0;j<strlen(buf)-i-1;j++)

      {

           if(buf[j]<buf[j+1]&&buf[j]!='\0')

         {

        buf[j]=buf[j]+buf[j+1];

        buf[j+1]=buf[j]-buf[j+1];

        buf[j]=buf[j]-buf[j+1];

          }    

       }

    }    

       for(i=0;i<strlen(buf);i++)

       {

           printf("%c",buf[i]);

       }

2,插入排序:将元素分为(已排序和未排序),每次从未排序中取出第一个元素插入到已排序队列中。

#include<stdio.h>

#include<string.h>

int main()

{

    int buf[]={1,7,2,6,9,5,4,3,8};

    int i,j,s;

    for(i=1;i<9;i++)

    {

        j=i;

        s=buf[i];

        if(buf[j]<buf[j-1])

        {

            while(j>0&&s<buf[j-1])

            {

            buf[j]=buf[j-1];

            j--;

            }

            buf[j]=s;

        }

    }

    for(i=0;i<9;i++)

        printf("%d",buf[i]);

    printf("\n");

    return 0;

}

3,选择排序:每一次从未排序中选择最值,并依次存放

#include<stdio.h>

#include<string.h>

int main()

{

    int buf[]={1,7,2,6,9,5,4,3,8};

    int i,j,s;

    for(i=1;i<9;i++)

    {

        j=i;

        s=buf[i];

        if(buf[j]<buf[j-1])

        {

            while(j>0&&s<buf[j-1])

            {

            buf[j]=buf[j-1];

            j--;

            }

            buf[j]=s;

        }

    }

    for(i=0;i<9;i++)

        printf("%d",buf[i]);

    printf("\n");


    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值