- C语言数据结构教程
- C语言数据结构 - 首页
- C语言数据结构 - 概述
- C语言数据结构 - 环境
- C语言数据结构 - 算法
- C语言数据结构 - 概念
- C语言数据结构 - 数组
- C语言数据结构 - 链表
- C语言数据结构 - 双向链表
- C语言数据结构 - 循环链表
- C语言数据结构 - 栈
- C语言数据结构 - 表达式解析
- C语言数据结构 - 队列
- C语言数据结构 - 优先队列
- C语言数据结构 - 树
- C语言数据结构 - 哈希表
- C语言数据结构 - 堆
- C语言数据结构 - 图
- C语言数据结构 - 搜索技术
- C语言数据结构 - 排序技术
- C语言数据结构 - 递归
- C语言数据结构 有用资源
- C语言数据结构 - 快速指南
- C语言数据结构 - 有用资源
- C语言数据结构 - 讨论
C语言数据结构 - 数组
概述
数组是一个可以容纳固定数量的项目的容器,并且这些项目必须是相同类型。大多数数据结构利用数组来实现其算法。以下是理解数组概念的一些重要术语。
元素 - 存储在数组中的每个项目称为元素。
索引 - 数组中每个元素的位置都有一个数值索引,用于识别该元素。
数组表示
根据上面所示的图示,以下是要考虑的重要事项。
索引从 0 开始。
数组长度为 8,这意味着它可以存储 8 个元素。
每个元素都可以通过其索引访问。例如,我们可以获取索引为 6 的元素,即 9。
基本操作
以下是数组支持的基本操作。
插入 - 在给定索引处添加元素。
删除 - 删除给定索引处的元素。
搜索 - 使用给定索引或值搜索元素。
更新 - 更新给定索引处的元素。
在 C 中,当数组初始化为指定大小后,它会按照以下顺序为其元素分配默认值。
序号 | 数据类型 | 默认值 |
---|---|---|
1 | bool | false |
2 | char | 0 |
3 | int | 0 |
4 | float | 0.0 |
5 | double | 0.0f |
6 | void | |
7 | wchar_t | 0 |
示例
#include <stdio.h> #include <string.h> static void display(int intArray[], int length){ int i=0; printf("Array : ["); for(i = 0; i < length; i++) { /* display value of element at index i. */ printf(" %d ", intArray[i]); } printf(" ]\n "); } int main() { int i = 0; /* Declare an array */ int intArray[8]; // initialize elements of array n to 0 for ( i = 0; i < 8; i++ ) { intArray[ i ] = 0; // set elements to default value of 0; } printf("Array with default data."); /* Display elements of an array.*/ display(intArray,8); /* Operation : Insertion Add elements in the array */ for(i = 0; i < 8; i++) { /* place value of i at index i. */ printf("Adding %d at index %d\n",i,i); intArray[i] = i; } printf("\n"); printf("Array after adding data. "); display(intArray,8); /* Operation : Insertion Element at any location can be updated directly */ int index = 5; intArray[index] = 10; printf("Array after updating element at index %d.\n",index); display(intArray,8); /* Operation : Search using index Search an element using index.*/ printf("Data at index %d:%d\n" ,index,intArray[index]); /* Operation : Search using value Search an element using value.*/ int value = 4; for(i = 0; i < 8; i++) { if(intArray[i] == value ){ printf("value %d Found at index %d \n", intArray[i],i); break; } } return 0; }
输出
如果我们编译并运行上述程序,它将产生以下输出:
Array with default data.Array : [ 0 0 0 0 0 0 0 0 ] Adding 0 at index 0 Adding 1 at index 1 Adding 2 at index 2 Adding 3 at index 3 Adding 4 at index 4 Adding 5 at index 5 Adding 6 at index 6 Adding 7 at index 7 Array after adding data. Array : [ 0 1 2 3 4 5 6 7 ] Array after updating element at index 5. Array : [ 0 1 2 3 4 10 6 7 ] Data at index 5: 10 4 Found at index 4
广告