Array是一个容器,可以容纳固定数量的项目,这些项目应该是相同的类型.大多数数据结构都使用数组来实现其算法.以下是理解数组概念的重要术语.
元素 : 存储在数组中的每个项目都称为元素.
索引 : 数组中元素的每个位置都有一个数字索引,用于标识元素.
数组表示
可以用不同语言以各种方式声明数组.为了说明,我们采取C数组声明.
数组可以用不同语言以各种方式声明.为了说明,我们采用C数组声明.
As根据上图,以下是要考虑的重点.
索引从0开始.
数组长度为10,这意味着它可以存储10个元素.
每个元素都可以通过它访问指数.例如,我们可以将索引6处的元素取为9.
基本操作
以下是数组支持的基本操作.
Traverse : 逐个打印所有数组元素.
插入 : 在给定索引处添加元素.
删除 : 删除给定索引处的元素.
搜索 : 使用给定索引或值搜索元素.
更新 : 更新给定索引处的元素.
在C中,当使用size初始化数组时,它会为其元素分配默认值按照以下顺序.
数据类型 | 默认值 |
---|---|
bool | false |
char | 0 |
int | 0 |
float | 0.0 |
double | 0.0f |
void | |
wchar_t | 0 |
插入操作
插入操作是将一个或多个数据元素插入到数组中.根据需求,可以在数组的开头,结尾或任何给定索引处添加一个新元素.
这里,我们看到插入操作的实际实现,我们在其中添加数据在数组的末尾 :
算法
设数组是 MAX的线性无序数组元素.
示例
结果
让 LA 是具有 N 元素的线性阵列(无序),并且 K 是正整数,使得 K <= N .以下是将ITEM插入LA的K th 位置的算法>
1.启动 2.设置J = N 3.设置N = N + 1 4.重复步骤5和6,而J> = K 5.设置LA [J + 1] = LA [J] 6.设置J = J-1 7.设置LA [K] = ITEM 8.停止
示例
以下是上述算法的实现 :
#includemain() { int LA[] = {1,3,5,7,8}; int item = 10, k = 3, n = 5; int i = 0, j = n; printf("The original array elements are :\n"); for(i = 0; i = k) { LA[j+1] = LA[j]; j = j - 1; } LA[k] = item; printf("The array elements after insertion :\n"); for(i = 0; i 当我们编译并执行上述程序时,它会产生以下结果 :
输出
The original array elements are :LA[0] = 1 LA[1] = 3 LA[2] = 5 LA[3] = 7 LA[4] = 8 The array elements after insertion :LA[0] = 1 LA[1] = 3 LA[2] = 5 LA[3] = 10 LA[4] = 7 LA[5] = 8删除操作
删除是指从数组中删除现有元素并重新组织数组的所有元素.
算法
考虑 LA 是一个带有 N 元素和
1.启动 2.设置J = K 3.重复步骤4和5,同时J示例
以下是上述算法的实现 :
#includevoid main() { int LA[] = {1,3,5,7,8}; int k = 3, n = 5; int i, j; printf("The original array elements are :\n"); for(i = 0; i 当我们编译并执行上述程序时,它会产生以下结果 :
输出
The original array elements are :LA[0] = 1 LA[1] = 3 LA[2] = 5 LA[3] = 7 LA[4] = 8 The array elements after deletion :LA[0] = 1 LA[1] = 3 LA[2] = 7 LA[3] = 8搜索操作
您可以根据数值或索引搜索数组元素.
算法
考虑 LA 是具有 N 元素的线性阵列,并且 K 是正整数,使得 K <= N .以下是使用顺序搜索查找值为ITEM的元素的算法.
1.启动 2.设置J = 0 3.重复步骤4和5,同时J< N 4.如果LA [J]相等,那么GOTO STEP 6 5.设置J = J +1 6.打印J,项目 7.停止示例
以下是上述算法的实现 :
#includevoid main() { int LA[] = {1,3,5,7,8}; int item = 5, n = 5; int i = 0, j = 0; printf("The original array elements are :\n"); for(i = 0; i 当我们编译并执行上述程序时,它会产生以下结果 :
输出
The original array elements are :LA[0] = 1 LA[1] = 3 LA[2] = 5 LA[3] = 7 LA[4] = 8 Found element 5 at position 3更新操作
更新操作是指在给定索引处更新数组中的现有元素.
算法
考虑 LA 是一个带有 N 元素的线性数组,而 K 是一个正整数,使得 K< ; = N 的.以下是更新LA的K th 位置可用元素的算法.
1.启动 2.设置LA [K-1] = ITEM 3.停止示例
以下是上述算法的实现 :
#includevoid main() { int LA[] = {1,3,5,7,8}; int k = 3, n = 5, item = 10; int i, j; printf("The original array elements are :\n"); for(i = 0; i 当我们编译并执行上述程序时,它会产生以下结果 :
输出
The original array elements are :LA[0] = 1 LA[1] = 3 LA[2] = 5 LA[3] = 7 LA[4] = 8 The array elements after updation :LA[0] = 1 LA[1] = 3 LA[2] = 10 LA[3] = 7 LA[4] = 8