首页 > 其他分享 >C 语言数组操作

C 语言数组操作

时间:2023-04-22 09:45:49浏览次数:36  
标签:index arr 语言 int mid ++ 数组 printf 操作

-1. 初始化:

 

```c

int arr[5] = {1, 2, 3, 4, 5}; // 初始化为1, 2, 3, 4, 5

int arr[5] = {0}; // 初始化为0

```

 

2. 访问:

 

```c

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

int a = arr[0]; // 获取第一个元素的值

```

 

3. 遍历:

 

```c

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

for (int i = 0; i < 5; i++) {

    printf("%d ", arr[i]);

}

```

 

4. 求长度:

 

```c

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

int len = sizeof(arr) / sizeof(arr[0]);

printf("数组长度为%d", len);

```

 

5. 复制:

 

```c

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

int arr2[5];

for (int i = 0; i < 5; i++) {

    arr2[i] = arr1[i];

}

```

 

6. 比较:

 

```c

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

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

int isEqual = 1;

for (int i = 0; i < 5; i++) {

    if (arr1[i] != arr2[i]) {

        isEqual = 0; // 只要有一个元素不相等就不相等

        break;

    }

}

if (isEqual) {

    printf("两个数组相等");

} else {

    printf("两个数组不相等");

}

```

 

7. 排序:

 

```c

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

for (int i = 0; i < 4; i++) {

    for (int j = 0; j < 4 - i; j++) {

        if (arr[j] > arr[j + 1]) {

            int temp = arr[j];

            arr[j] = arr[j + 1];

            arr[j + 1] = temp;

        }

    }

}

for (int i = 0; i < 5; i++) {

    printf("%d ", arr[i]);

}

```

 

8. 查找:

 

线性查找:

 

```c

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

int target = 3;

int index = -1;

for (int i = 0; i < 5; i++) {

    if (arr[i] == target) {

        index = i;

        break;

    }

}

if (index != -1) {

    printf("找到了,下标为%d", index);

} else {

    printf("没找到");

}

```

 

二分查找:

 

```c

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

int target = 3;

int left = 0, right = 4;

int index = -1;

while (left <= right) {

    int mid = (left + right) / 2;

    if (arr[mid] == target) {

        index = mid;

        break;

    } else if (arr[mid] > target) {

        right = mid - 1;

    } else {

        left = mid + 1;

    }

}

if (index != -1) {

    printf("找到了,下标为%d", index);

} else {

    printf("没找到");

}

```

 

9. 插入:

 

```c

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

int insertValue = 6;

int insertIndex = 2;

for (int i = 4; i >= insertIndex; i--) {

    arr[i + 1] = arr[i];

}

arr[insertIndex] = insertValue;

for (int i = 0; i < 6; i++) {

    printf("%d ", arr[i]);

}

```

 

10. 删除:

 

```c

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

int deleteIndex = 2;

for (int i = deleteIndex; i < 4; i++) {

    arr[i] = arr[i + 1];

}

for (int i = 0; i < 4; i++) {

    printf("%d ", arr[i]);

}

```

标签:index,arr,语言,int,mid,++,数组,printf,操作
From: https://www.cnblogs.com/full-stack-linux-new/p/17342475.html

相关文章

  • C 语言结构体常用操作
    在C语言中,结构体是一种包含不同数据类型的自定义数据类型。常用的结构体操作有: 1.定义结构体 定义结构体可以使用`struct`关键字,语法格式如下: ```cstruct结构体名称{  数据类型成员名称1;  数据类型成员名称2;  //...};``` 例如: ```cstruc......
  • C 语言 共用体操作
    在C语言中,共用体是一种特殊的数据结构,它的所有成员都占用同一个内存空间,常用的共用体操作有: 1.定义共用体 定义共用体使用`union`关键字,语法格式如下: ```cunion共用体名称{  数据类型成员名称1;  数据类型成员名称2;  //...};``` 例如: ```c......
  • C 语言各个数据类型的输入输出
    -1.整型(int)的输入输出: 输入: ```cintnum;printf("请输入一个整数:\n");scanf("%d",&num);//注意取地址符&``` 输出: ```cintnum=123;printf("这个数字是%d。\n",num);``` 2.浮点型(float和double)的输入输出: 输入: ```cfloatnum1;doubl......
  • 机器学习--数据操作初试
    #加载数据集,返回字典类型的数据sklearn.datasets.load_iris()数据示例iris=sklearn.datasets.load_iris()#数据集特征值iris['data']#数据集标签值iris['target']特征和标签相对应数据集的划分由于数据集在某些情况下是很珍贵的,并且在训练后需要对模型性能进行验......
  • day52 300.最长递增子序列 | 674. 最长连续递增序列 | 718. 最长重复子数组
    给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是[2,3,7,101......
  • 2023-04-21:用go语言重写ffmpeg的metadata.c示例。
    2023-04-21:用go语言重写ffmpeg的metadata.c示例。答案2023-04-21:这段Go代码演示了如何使用ffmpeg-go库中的函数来读取多媒体文件元数据,包括视频、音频等信息。它的大体过程如下:设置环境变量以加载FFmpeg动态链接库这里将FFmpeg库中的各个动态链接库路径添加到环境变......
  • Docker镜像操作
    Docker保存镜像1.保存容器更改将容器修改的内容保存为镜像dockercommitappdocker在提交容器更改时可以附加提交信息,方便查询dockercommit-m"firstinitapp"2.镜像命名通过dockertag命令可以对未命名的镜像命名,也可以修改已有镜像的命名dockertag容器idapp:1......
  • 05 基础的数据操作
    05基础的数据操作在创建了数据库和数据库表之后,我们就可以在表中进行数据操作了。基础操作分为添加删除修改查询以上4种操作又简称为CURD(Create,Update,Retrieve,Delete)一.添加数据插入数据的类型:添加一行中所有列对应的数据,不写列名添加一行中某些列对应的......
  • 算法学习day01数组part02-209、59、977
    packageLeetCode.arraypart02;/***209.长度最小的子数组*给定一个含有n个正整数的数组和一个正整数target。*找出该数组中满足其和≥target的长度最小的连续子数组[numsl,numsl+1,...,numsr-1,numsr],并返回其长度。如果不存在符合条件的子数组,返回0.*......
  • VUe-数组get传递
    vue中get方法如何传递数组参数直接放在对象中传递数组 exportfunctiongetCrApplicationList(data){vartest=['111','222']returnrequest({url:'/applicant/CrApplication/List',method:'get',params:{test}})}  传递的参......