zoukankan      html  css  js  c++  java
  • 算法笔记数组

    整型数组

    定义格式:

    数据类型 数组名【数组大小】

    赋值:

    int a[5] = {1,2,3,4,5};

    初始化时第一个元素赋值为0全为0;

    冒泡排序:

     1 #include<stdio.h>
     2 int main(){
     3     int temp;
     4     int a[10] = {3,1,4,5,2};
     5     for(int i = 1;i<=4;i++){
     6         for(int j = 0;j<5-i;j++){
     7             if(a[j]>a[j+1]){
     8                 temp = a[j];
     9                 a[j] = a[j+1];
    10                 a[j+1] = temp;
    11             }
    12         }
    13     }
    14     for(int i = 0; i<5;i++){
    15         printf("%d",a[i]);
    16     }
    17 
    18     return 0;     
    19 }

    二维数组赋值:

    int a[5][6] = {{3,1,2},{8,4},{},{1,2,3,4,5}};

    中间的括号不能缺。

    特别提醒:

    数组大小较大(大概106级别),则需要将其定义在main函数之外。原因为内部申请局部变量来自系统栈,空间较小。全局变量来自静态存储区,允许空间较大。

    memest 函数:

    头文件<string.h>    memset(a,0,sizeof(a));   //全为0;

    字符数组

    初始化:

    char str[15] = {'a','b','c','d'};

    char str[15]  = "Hello World";   //注:只有初始化能这样赋值,其他时候不可以

    输入输出:

    • scanf/printf:  char str[10]; scanf("%s",str);printf("%s",str);
    • getchar/putchar:  可以吸收掉换行符
    • gets/puts:    gets(str);以换行符为结束符,自动在字符数组中添加‘’。puts(str)与printf()读到‘’输出。

    特别提醒:不使用scanf("%s",...)或者gets()输入则必须手动在最后添‘’。否则用puts()或printf("%s",..)会出现乱码。

    string.h 头文件:

    • strlen(str);  //获取长度
    • strcmp(str1,str2);      //按字典序比较大小,按小、相等、大分别返回负整数、0、正整数;
    • strcpy(str1,str2);   //copy str2 to str1, include '';
    • strcat(str1,str2);    //把str2接到str1的后面。

    sscanf/sprintf(头文件为stdio.h):

    sscanf(str,"%d",&n);

    sprintf(str,"%d",n);

    sscanf支持正则表达式。

  • 相关阅读:
    将文件放到Android模拟器的SD卡中的两种解决方法
    Response JSON数据返回
    jAVA 得到Map价值
    【动态规划】leetcode
    思考互联网分布式系统
    Cocos2d-x数据持久-变更数据
    小程序猿都找到了工作经验的方式
    抄360于Launcher浮动窗口的屏幕显示内存使用情况(改进版)
    vb.net窗口继承(房重建知识汇总)
    Spring该讲座
  • 原文地址:https://www.cnblogs.com/jinjin-2018/p/8808387.html
Copyright © 2011-2022 走看看