数据结构顺序表定义和实现

首先是顺序表的抽象数据类型的定义

//  file: sequence.h
#define MAXSIZE 100     // 定义顺序表最大的容量为100
typedef int datatype;   //给int 取了个别名叫datatype
typedef struct {
    datatype arr[MAXSIZE];
    int size;
}sequence;

接下来是它的大部分算法实现,当然我增加了冒泡排序:

// file: sequence.c
#include "sequence.h"
#include <stdio.h>
#include <stdlib.h>

/**
     我会遇到这个问题,比如:append(sequence* sequ)和  display(sequence sequ)里面的参数对调下,是否也可以呢,答案是不行的,函数在调用时,会在另外开辟一块空间,如果不传递指针参数的话,函数的调用将是无意义的
**/

/*
    顺序表是线性存储,所以下面涉及到的第i个元素或第position位置,i和position取值范围是{0, 1, ..., size-1},当然这只是我理解的一种
*/
//  用C语言实现如下算法,实现如下函数(也叫方法)前,首先最好声明下
----------

void init(sequence* sequ);  // 初始化顺序表
void append(sequence* sequ, datatype x);     // 往顺序表后部插入值为x的元素
void display(sequence sequ); // 遍历
int isEmpty(sequence sequ); 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值