美文网首页上嵌学习笔记
冒泡算法和字符串问题

冒泡算法和字符串问题

作者: Hassan_chao | 来源:发表于2016-12-16 22:34 被阅读7次

    一、冒泡排序

    int arr[5]={1,2,3,4,5}
    参加数据个数:n,比较次数n-1,得到最值n

    arr[0]      arr[1]----->arr[1];
    arr[1]      arr[2]----->arr[2];
    arr[2]       arr[3]----->arr[3];
    arr[3]      arr[4]----->arr[4];
    arr[4]      arr[5]----->arr[5];
    .....       ..... ...... .....
    arr[n-1] arr[n]----->arr[n];
    

    第二次比较个数:n-1 比较次数n-2 得到次值

    arr[1]          arr[2]----->arr[2];
    arr[2]           arr[3]----->arr[3];
    arr[3]          arr[4]----->arr[4];
    arr[4]          arr[5]----->arr[5];
    .....            ..... ...... .....
    arr[n-2]        arr[n-1]----->arr[n-1];```
    。。。
    。。。
    。。。
    第n-1次比较,参与个数2   比较次数1   得到最终结果
    ```arr[0]           arr[1]----->arr[1];```
    ###2、获取随机数
    //获取0~100之间的随机数
    

    srand(time(NULL));//此语句不能放在循环语句中,否则会产生相同的数据
    int max =rand()%100;

    ###3、字符串
    (1)字符串常量
        字符串是由""括起来的字符串集合
        "a","hh","ajfljwi3958&"
        字符串的结束标志'\n',不显示,但是存在。
    (2)C中没有字符串所对应的数据类型,通常使用字符数组保存字符串
    ```     char arr[32]={"hello,uuhhio"};
        char buf[32]="lkajfeihfaoon 45";
        char af[32]={ 'a','r','$','*','8'};```
        注意:字符数组保存字符和保存字符串的区别;
        字符串有'\0'
    (3)字符串的输入和输出
    
    scanf()//遇到空格,回车,tab键,按结束处理,单个空格可以接收,
    printf()```
    

    (3)

     getchar();//吸收单个字符
        char ah;
        ah=getchar();
        getchar();
    

    (4)

    gets()/put()
        get():从键盘输入,可以接收空格,此函数有bug,不建议使用
        put():自动换行,无需换行符
    

    (5) fget()/fput()

    fgets():获得数据
        arr:数组名,即一个地址
        fgets(arr,sizeof(arr),stdin);
        stdin:标准输入
        sizeof(arr):读取数据大小,也可以用数字代替
    fputs():输出数据,并自动换行
        fputs(arr,stdout);
        stdout:标准输出
        arr:要输出的字符串
    注意:此处无BUG,可以放心使用
    

    (6)指针和字符串
    char
    (7)字符串相关函数
    头文件:#include<string.h>

            strlen():计算字符串长度,‘\0’不计入字符串长度,注意区分和sizeof的区别
            
            strcpy():字符串拷贝,
                strcpy(buf,arr);将arr内容拷贝到buf中
    
            strcmp():字符串比较
            int ret=strcmp(arr,buf)
            若ret=0;则两个字符串相等 
            若ret>0;则arr>buf
            若ret>0;则arr<buf
                注:不需要知道返回值的具体值!!!
    
            strcat():字符串拼接
            strcat():字符串的拼接
            strcat(arr,buf);
            将buf的内容,拼接到arr中,一定要保证arr的空间足够大!!否则会出现数组越界问题!
    

    总结:今天讲解的新内容,没有什么疑问,bug还是出现在指针数组上,正在修复中。。。。

    相关文章

      网友评论

        本文标题: 冒泡算法和字符串问题

        本文链接:https://www.haomeiwen.com/subject/yckomttx.html