- 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
廣告