2021-05-27

该博客介绍了如何使用C语言实现顺序表的基本操作,包括创建新的顺序表、向表中添加元素以及显示所有元素的功能。示例代码展示了如何定义一个结构体来表示顺序表,并实现了相关函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

顺序表:
参考:顺序表的基本操作(C语言详解版)

#include <stdio.h>
#include <stdbool.h>

typedef struct Table{
    #define MAX_TABLE_SIZE 5
    int *head;
    int length;
    int size;
    int curIndex;

    bool (*addElement)(struct Table* pt,int element);
    void (*showAllElements)(struct Table* pt);

}Table;
bool newTable(Table* pt);

bool addElement(Table* pt,int element);
void showAllElements(struct Table* pt);


int main()
{
    int i;
    Table t;
    if(newTable(&t) == false){
        printf("new fail..\n");
    }else{
        printf("new OK..\n");
    }


    for(i=0;i<100;i++){
        if(t.addElement(&t,i) == false){
            printf("膘满了%d\n",i);
            break;
        }

    }


    t.showAllElements(&t);




    getchar();

	return 0;
}

bool newTable(Table* pt){
    pt->head = (int*)malloc(MAX_TABLE_SIZE*sizeof(int));
    if(pt->head == NULL){
        return false;
    }


    pt->length = 0;
    pt->size = MAX_TABLE_SIZE;
    pt->curIndex = 0;

    pt->addElement = addElement;
    pt->showAllElements = showAllElements;

    return true;
}


bool addElement(Table* pt,int element){


    if(pt->curIndex < pt->size){
        pt->head[pt->curIndex] = element;
        pt->curIndex++;
        return true;

    }

    return false;


}
void showAllElements(struct Table* pt){
    int i;
    for(i=0;i<pt->size;i++){
        printf("head[%d]:%d\n",i,pt->head[i]);

    }

}




















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值