顺序表C语言实现
2020-04-05 12:11
519 查看
头文件 list.h
#define MaxSize 50 //表长度的初始定义 typedef struct{ ElemType data[MaxSize]; //顺序表的元素 int length; //顺序表的当前长度 }SqList; //顺 序表的类型定义 //初始化 int Initiate(SqList &L) { L.length=0; return 1; } //插入函数 bool ListInsert(SqList &L,int i,ElemType e){ if(i<1||i>L.length+1) return false; else if(L.length>=MaxSize) return false; else { for(int j=L.length;j>=i;j--) L.data[j]=L.data[j-1]; L.data[i-1]=e; L.length++; return true; } } //删除函数 bool ListDelete(SqList &L,int i,ElemType e) { if(i<1||i>L.length) return false; e=L.data[i-1]; for(int j=i;j<L.length;j++) L.data[j-1]=L.data[j]; L.length--; return true; } //按值查找 int LocateElem(SqList L,ElemType e) { int i; for(i=0;i<L.length;i++) { if(L.data[i]==e) { return i+1; //下标为i的元素值等于e,返回其位序i+1 } } return 0; //退出循环,说明查找失败 } //取出第i个元素 int ListGet(SqList &L,int i,ElemType *x) { if(i<0||i>L.length-1) { printf("参数不合法"); return 0; } else { *x=L.data[i]; return 1; } }
源文件:text.cpp
#include<stdio.h> typedef int ElemType; #include"list.h" int main() { SqList mylist; int x; Initiate(mylist); for(int i=1;i<11;i++)//这里插入了1-10这10个值 { ListInsert(mylist,i,i); } //输出顺序表中的所有元素 for(i=0;i<mylist.length;i++) { ListGet(mylist,i,&x); printf("%d ",x); } return 0; }
运行结果:
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 一、数据结构基础之顺序表C语言实现
- 顺序表的链式结构中用C语言实现单链表的交并差运算
- 用c语言实现顺序队列(采用计数器解决假溢出问题)
- 动态顺序表的实现(c语言版本)
- C语言实现选择、冒泡、直接插入、归并、希尔、快速、堆排序与顺序、二分查找排序
- 【数据结构】C语言实现顺序栈和链式栈
- 数据结构 c语言实现 顺序表(Sequential List)
- C语言实现顺序表的基本操作(创建,增,删,改,查)
- 顺序栈的c语言实现和OOP实现
- 单链表顺序存储相关操作的c语言实现
- C语言实现顺序线性表(Sequentail linear list)
- C语言实现顺序表的创建与增删改查操作
- 数据结构(一)——顺序表(C语言实现)
- 数组的顺序表示和C语言实现
- c语言:顺序栈的实现
- c语言顺序表的实现
- C语言实现快速翻转数组的顺序
- 栈的应用-用栈实现八进制的顺序输出(c语言实现)
- 数据结构(严蔚敏)C语言实现---线性表的顺序存储
- c语言顺序表的实现与基本操作