线性表的顺序储存
来源:互联网 发布:知乎阅读精选 编辑:程序博客网 时间:2024/06/10 16:53
一周复习数据结构基础系列:
线性表的顺序储存:
不复习不知道,在这里我用结构体list做函数参数竟然无法修改结构体成员内容(在我心里这应该算全局变量啊),必须用 list*和->,好吧,待我去看看书。
/* title:线性表的顺序储存 description: author: averyboy time:2017.3.13 version:1.0*/#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<string>#include<cmath>#include<map>#include<set>#include<cctype>#include<ctime>#define INF 0x3f3f3f3f3#define PI acos(-1.0)using namespace std;int maxx =1000;struct list{ int elem[1000]; int last;}seqlist1,*seqlist2;//用数组表示顺序表,last表示表当前最后一个数据下标。void init(int num)//建立顺序表{ memset(seqlist1.elem,0,sizeof(seqlist1.elem)); seqlist1.last=num; return;}int listlength(list s)//查询顺序表长度{ return s.last+1;}void showlist(list s)//打印顺序表{ for(int i=0;i<=listlength(s);i++) { printf("%d ",s.elem[i]); } printf("\n"); return ;}int getdata(list s,int n)//获取给出下标处的数据值{ if(s.last!=-1&&s.last>=n) return s.elem[n]; else return -1;}int finddata(list s,int n )//根据值查找数据{ int i=0; while(i<=s.last&&s.elem[i]!=n) { i++; } return (i>s.last?-1:i);}void deletelist(list *s,int n)//删除给定位置值{ for(int i=n;i<s->last;i++) { s->elem[i]=s->elem[i+1]; //cout<<"!!!!"<<endl; } s->last--; return ;}void inslist(list *s,int n,int v)//在指定位置插入值{ for(int i=s->last;i>n;i--) { s->elem[i+1]=s->elem[i]; // cout<<"???"<<endl; } s->elem[n]=v; s->last++; return ;}void clear(list s)//清空表{ memset(s.elem,0,sizeof(s.elem)); return ;}int main(){ init(10); seqlist1.elem[5]=100; showlist(seqlist1); inslist(&seqlist1,8,4); deletelist(&seqlist1,1); cout<<getdata(seqlist1,4)<<endl; cout<<finddata(seqlist1,4)<<endl; showlist(seqlist1); clear(seqlist1); showlist(seqlist1); return 0;}
0 0
- 线性表的顺序储存
- 线性表的顺序储存
- 数据结构 线性表的顺序储存结构
- 数据结构---线性表的顺序储存
- 数据结构 --- 线性表 顺序储存 链式储存
- 线性表的顺序储存及运算实现-------------顺序表
- 线性表的顺序储存(顺序表)
- 线性表--顺序储存结构
- 线性表的顺序储存及运算实现
- 增序顺序储存线性表的基本操作
- 线性表的顺序储存结构(静态)实现
- 线性表的顺序储存结构定义(动态)实现
- 线性表的顺序储存及基本操作
- 线性表的顺序储存结构 初始化、查找、删除、插入
- 数据结构中线性表的顺序储存结构
- 线性表的顺序储存结构(向量 )(一)
- 线性表、栈、队列的的顺序储存和链式储存
- 线性表--顺序储存结构 java实现
- SpringMVC入门必读,最全最详细
- Redis 2.8 配置文件说明
- mysql查看所有存储过程
- eclipse 使用maven 构建springboot 读取多个配置文件
- 理解stat命令下3个时间概念---Linux学习笔记(2)
- 线性表的顺序储存
- mybatis批量更新或者插入的时候必须在数据库连接上打开allowMultiQueries选项
- 医疗行业大数据应用案例【智库2861】
- MySQL性能调优与架构设计
- vs 学习
- 用示例来说明如何重载运算符
- 死活登不上localhost manager app? windows系统的来看看,本人用了几小时搞定的。想哭,难受,给后来者提供直道
- 如何进入Linux单用户模式修改root密码
- JNDI