数据结构的实现

#include<stdio.h>
#include<stdlib.h>
#define Size 5
typedef struct table{ /*每一个顺序表都有其最长长度;当前长度以及地址
                      可把这个结构体抽象的看成一个顺序表 */
  int *elem;  
  int size;
  int length;
}table;
table inittable()//初始化一个长度为5,当前长度为0的顺序表
{  
    table tab;
 tab.elem=(int *)malloc(sizeof(int)*Size);
 if(!tab.elem)
 {
  printf(“申请内存失败\n”);
  exit(0);//意思是程序正常退出 
 }
 tab.length=0;
 tab.size=Size;
 return tab;
 }
void printf_table(table tab)//向顺序表输出数据 
{
 for(int i=0;i<tab.size;i++){
  printf("%d “,tab.elem[i]);
 }
}
void scanf_table(table tab)//向顺序表中输入数据
{
 for(int i=0;i<tab.size;i++)
 {
  scanf(”%d",&tab.elem[i]);
  tab.length++;//记录当前顺序表的有几个元素,输入一个就加1
 }
 }
int main()
{
 table tab=inittable(); //初始化一个顺序表
 printf(“往顺序表中输入的数据:\n”);
 scanf_table(tab);
 printf(“顺序表存储的数据为:\n”);
 printf_table(tab);
 return 0;
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值