Maison > Article > développement back-end > Comment utiliser la fonction de suppression de vecteur en C
Supprimer l'utilisation du vecteur en C nécessite des exemples de code spécifiques
Introduction : le vecteur en langage C est un tableau dynamique dont la taille peut être ajustée au moment de l'exécution. Il s'agit d'une structure de données très couramment utilisée pour stocker et manipuler plusieurs objets. Dans les applications pratiques, nous devons souvent insérer de nouveaux éléments dans des vecteurs ou supprimer des éléments existants. Cet article présentera en détail l'utilisation de la suppression de vecteurs en langage C et donnera des exemples de code correspondants.
Il y a deux paramètres dans le prototype de la fonction Le premier paramètre est le pointeur vectoriel et le deuxième paramètre est l'index de l'élément à être. supprimé. Cet index commence à compter à partir de 0 et représente la position de l'élément à supprimer dans le vecteur.
#include <stdio.h> #include <stdlib.h> // 定义vector结构体 typedef struct { int *data; // 存储元素的数组 int size; // 当前元素个数 int capacity; // 容量 } vector; // 初始化vector void initVector(vector *v) { v->size = 0; v->capacity = 4; v->data = (int *)malloc(sizeof(int) * v->capacity); } // 向vector中插入元素 void insert(vector *v, int value) { // 如果当前元素个数等于容量,需要重新分配内存 if (v->size == v->capacity) { v->capacity *= 2; v->data = (int *)realloc(v->data, sizeof(int) * v->capacity); } v->data[v->size] = value; v->size++; } // 删除vector中的元素 void remove(vector *v, int index) { // 检查索引是否合法 if (index < 0 || index >= v->size) { printf("Invalid index"); return; } // 将后面的元素向前移动 for (int i = index; i < v->size - 1; i++) { v->data[i] = v->data[i + 1]; } v->size--; // 如果元素个数小于容量的一半,缩小容量 if (v->size <= v->capacity / 2) { v->capacity /= 2; v->data = (int *)realloc(v->data, sizeof(int) * v->capacity); } } int main() { vector v; initVector(&v); // 向vector中插入元素 insert(&v, 1); insert(&v, 2); insert(&v, 3); insert(&v, 4); // 打印vector中的元素 printf("Before remove: "); for (int i = 0; i < v.size; i++) { printf("%d ", v.data[i]); } printf(" "); // 删除vector中的元素 remove(&v, 1); // 打印删除后的vector中的元素 printf("After remove: "); for (int i = 0; i < v.size; i++) { printf("%d ", v.data[i]); } printf(" "); return 0; }
Description du code :
Résumé :
Cet article présente l'utilisation du vecteur de suppression en langage C et donne des exemples de code correspondants. A travers cet exemple, nous pouvons clairement voir comment insérer des éléments dans le vecteur, comment supprimer des éléments et gérer la gestion de la mémoire correspondante. Ces opérations sont ce que nous rencontrons souvent dans les projets réels. Maîtriser l’utilisation de cette structure de données est très utile pour les programmeurs en langage C.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!