学习数据接构和算法的第10天

题目讲解

尾插

c 复制代码
#include <stdio.h>
#include <stdlib.h>
// 定义顺序表结构
#define MAX_SIZE 100
struct ArrayList {
    int array[MAX_SIZE];
    int size; // 当前元素个数
};
// 初始化顺序表
void init(struct ArrayList *list) {
    list->size = 0; // 初始时元素个数为0
}
// 尾插操作
void append(struct ArrayList *list, int data) {
    if (list->size < MAX_SIZE) { // 检查顺序表是否已满
        list->array[list->size] = data; // 在数组末尾插入新元素
        list->size++; // 更新元素个数
    } else {
        printf("Error: 顺序表已满,无法插入新元素。\n 
    }
}
// 打印顺序表元素
void printList(struct ArrayList *list) {
    printf("顺序表元素:");
    for (int i = 0; i < list->size; i++) {
        printf("%d ", list->array[i]); // 逐个打印顺序表元素
    }
    printf("\n");
}
int main() {
    struct ArrayList list;
    init(&list); // 初始化顺序表
    // 进行尾插操作
    append(&list, 1);
    append(&list, 2);
    append(&list, 3);
    // 打印顺序表元素
    printList(&list);
    return 0;
}
相关推荐
sheeta199820 分钟前
LeetCode 每日一题笔记 日期:2026.06.06 题目:2196. 根据描述创建二叉树
笔记·算法·leetcode
小欣加油27 分钟前
leetcode994 腐烂的橘子
数据结构·c++·算法·leetcode·bfs
Chase_______1 小时前
【Java基础 | 15】集合框架(中):Set、HashSet、TreeSet 与哈希表
java·windows·散列表
.千余1 小时前
【C++】手写双向链表:list容器模拟实现
开发语言·c++·笔记·学习·其他
caimouse1 小时前
Windows NT 内核架构(主通用模型)流 NT 5.x/10+
windows·架构
QuZero1 小时前
Guava Cache Deep Dive
java·后端·算法·guava
随意起个昵称1 小时前
线性dp-LIS题目4(A Twisty Movement)
算法·动态规划
Felven2 小时前
B. Fair Numbers
数据结构·算法
人道领域2 小时前
【LeetCode刷题日记】93.复原IP地址
java·开发语言·算法·leetcode
caimouse2 小时前
Reactos 第 3 章 内存管理 — 【中篇】Hyperspace、系统空间、API 与异常
c语言·开发语言·windows·架构