数组知识总结

1、数组
     数组属于引用类型。
     数组:就是用了存储一组相同类型的数据结构
     数组本身属于引用类型,但是数组中的数据可以是基本数据类型,也可以是引用数据类型。
     Java中支持多维数组,多维数组中的元素都是数组

2、数组的应用
    2.1 数组的定义格式
       a)第一种格式
          数据类型[ ]数组名;
          例如:
               int[ ]  num1;
               double[ ]  num2;
               char[ ]  c;
       b)第二种格式
           数据类型  数组名[ ];
           例如:
               int  num1[ ];
               double  num2[ ];
  解释:在定义数组时,所指定的数据类型,是用来表示数组中元素的数据类型

    2.2 数组的动态初始化
        动态初始化就是只给数组的长度,由系统给出默认的

          动态初始化的格式:
                 数据类型[ ]   数组名=new  数据类型[数组长度];
          例如:
               int[ ]  num1=new   int [10];
          详解:
                  int指的是数据类型;
                  [ ]代表这是一个数组;
                  new为数组开辟内存空间;
                  10表示数组的长度;
     2.3 数组元素的索引(下标)
       *  每一个是数组中的元素,都有一个整数的索引,从

       *  数组中索引的最大值,就是数组的长度-1;
       *  完整版格式:
                数据类型[ ]   数据名=new  数据类型;

    *局部变量指的是在方法内部或者语句块定义的变量,存放在栈内存中;
    *字节码文件存放在方法区;
    *main方法被JVM自动调用进入栈内存执行;
    *程序在执行时,首先把字节码文件加载到方法区,main方法会被JVM自动调用,此时会进入main方法的栈内存,如果main方法中声明并创建了一个
数组对象,则数组声明的对象位于栈内存中,而当前数组实际存放数据位于堆内存中,堆内存会产生一个地址,并且把该地址赋值给数组名,所以数组名
实际上是对堆内存地址的引用。

switch和if条件语句的区别:
              switch语句只能做等值判断,是用于固定条件的判断;

              if语句既可以做等值判断,也可以实现范围判断,适用于各种条件;  
程序的三种结构:
                   顺序结构,选择结构,循环结构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
链表是一种常用的数据结构,用于存储一系列元素。C语言,链表是通过指针来实现的,每个节点包含数据和指向下一个节点的指针。 以下是链表的基础知识总结: 1. 链表的定义: ```c struct Node { int data; struct Node* next; }; ``` 其,data 表示节点存储的数据,next 表示指向下一个节点的指针。 2. 链表的操作: - 创建节点: ```c struct Node* createNode(int data) { struct Node* node = (struct Node*) malloc(sizeof(struct Node)); node->data = data; node->next = NULL; return node; } ``` - 插入节点: ```c void insertNode(struct Node* head, int data) { struct Node* node = createNode(data); node->next = head->next; head->next = node; } ``` 其,head 表示链表头节点。 - 删除节点: ```c void deleteNode(struct Node* head, int data) { struct Node* p = head->next; struct Node* q = head; while (p != NULL) { if (p->data == data) { q->next = p->next; free(p); break; } q = p; p = p->next; } } ``` - 遍历链表: ```c void traverseList(struct Node* head) { struct Node* p = head->next; while (p != NULL) { printf("%d ", p->data); p = p->next; } printf("\n"); } ``` - 销毁链表: ```c void destroyList(struct Node* head) { struct Node* p = head->next; while (p != NULL) { struct Node* q = p; p = p->next; free(q); } head->next = NULL; } ``` 3. 链表的优缺点: 链表的优点是插入和删除操作的时间复杂度为 O(1),而数组的时间复杂度为 O(n)。但是,链表的缺点是无法随机访问元素,需要遍历整个链表才能找到要查找的元素。此外,链表需要额外的空间来存储指向下一个节点的指针。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值