数据结构--线性表的顺序表示(顺序表)

来源:互联网 发布:广州移动宽带 知乎 编辑:程序博客网 时间:2024/06/09 06:21

线性表分两种,一种是顺序表,一种是链表。

先介绍第一种顺序表:

#include<stdio.h>#include<stdlib.h>typedef struct {int *data;int length;//这个是顺序表中现有的元素个数。int maxsize;//这个是顺序表中可容纳的最大的元素个数。}sqlist;sqlist creat(sqlist &l,int maxnum){//创建顺序表l.maxsize = maxnum;l.data = new int[l.maxsize];l.length = 0;return l;}bool insert(sqlist &l,int data,int position){//插入元素if(position<=0 && position >=l.maxsize){//判断插入位置是否在范围内return false;}if(l.length >= l.maxsize){//判断是否容量已满return false;}for(int i=l.length; i>=position; i--){//把相应位置的元素依次向后移一位。l.data[i]=l.data[i-1];//这里很容易出错,注意i的值。}l.data[position-1]=data;l.length++;return true;}void output(sqlist &l){//输出相应元素。for(int i=0; i<l.length; i++){printf("%d\n",l.data[i]);}}int main(){sqlist l = creat(l,10);for(int i=0; i<5; i++)insert(l,i,1);output(l);return 0;}


原创粉丝点击