简单数据结构之顺序表(C++ vector 实现)
来源:互联网 发布:手机淘宝查看交易快照 编辑:程序博客网 时间:2024/04/30 02:26
/* ============================================================================ Name : seq_list_vector.cpp Author : ntsk13 beijiwei@qq.com Version : Copyright : GPL Description : sequence list study, complement by C++ vector Date : 2015.06.08 ============================================================================ */#include <iostream>#include<vector>#include<algorithm>using namespace std;typedef struct elem{int element;}Seqlist_t;class sqlist{public:vector<Seqlist_t> v;int len;//长度void init();void clear();bool is_empty();int length();Seqlist_t get_elem(int i);int get_locate(Seqlist_t e);Seqlist_t get_last(int i);Seqlist_t get_next(int i);void add_back(Seqlist_t e);void delete_back();void insert_elem(Seqlist_t e,int i);void delete_elem(int i);void traverse();//void sort_sql();};int main(){//int a[5]={3,0,4,1,2};sqlist L;Seqlist_t zero,one,two,three,four;zero.element=3;one.element=0;two.element=4;three.element=1;four.element=2;L.init();L.add_back(zero);L.add_back(one);L.add_back(two);L.add_back(three);L.add_back(four);L.traverse();cout<<"===================================="<<endl;L.delete_back();L.traverse();cout<<"===================================="<<endl;L.delete_elem(2);L.traverse();cout<<"===================================="<<endl;L.insert_elem(four,0);L.traverse();cout<<"===================================="<<endl;return 0;}void sqlist::init(){len=0;}void sqlist::clear(){v.clear();len=0;}bool sqlist::is_empty(){return (len==0)?true:false;}int sqlist::length(){return len;}Seqlist_t sqlist::get_elem(int i){return v.at(i);}int sqlist::get_locate(Seqlist_t e){int i=0;for( i=0; i< len;i++)if(e.element==v.at(i).element)break;return (i !=len ) ? (i) : (-1);}Seqlist_t sqlist::get_last(int i){return v.at(i-1);}Seqlist_t sqlist::get_next(int i){return v.at(i+1);}void sqlist::add_back(Seqlist_t e){v.push_back(e);len++;}void sqlist::delete_back(){v.pop_back();len--;}void sqlist::insert_elem(Seqlist_t e,int i){v.insert(v.begin()+ i,e);len++;}void sqlist::delete_elem(int i){v.erase(v.begin()+ i);len--;}void sqlist::traverse(){for(int i=0;i<len;i++)cout<<"The element is "<< v.at(i).element<<endl; ;}<pre name="code" class="cpp">/* ============================================================================ Name : seq_list_vector.cpp Author : ntsk13 beijiwei@qq.com Version : Copyright : GPL Description : sequence list study, complement by C++ vector Date : 2015.06.08 ============================================================================ */#include <iostream>#include<vector>#include<algorithm>using namespace std;class sqlist{public:vector<int> v;int len;//长度void init();void clear();bool is_empty();int length();int get_elem(int i);int get_locate(int e);int get_last(int i);int get_next(int i);void add_back(int e);void delete_back();void insert_elem(int e,int i);void delete_elem(int i);void traverse();void sort_sql();};int main(){//int a[5]={3,0,4,1,2};sqlist L;int zero,one,two,three,four;zero=3;one=0;two=4;three=1;four=2;L.init();L.add_back(zero);L.add_back(one);L.add_back(two);L.add_back(three);L.add_back(four);L.traverse();cout<<"===================================="<<endl;L.delete_back();L.traverse();cout<<"===================================="<<endl;L.delete_elem(2);L.traverse();cout<<"===================================="<<endl;L.insert_elem(four,0);L.traverse();cout<<"===================================="<<endl;L.sort_sql();L.traverse();return 0;}void sqlist::init(){len=0;}void sqlist::clear(){v.clear();len=0;}bool sqlist::is_empty(){return (len==0)?true:false;}int sqlist::length(){return len;}int sqlist::get_elem(int i){return v.at(i);}int sqlist::get_locate(int e){int i=0;for( i=0; i< len;i++)if(e==v.at(i))break;return (i !=len ) ? (i) : (-1);}int sqlist::get_last(int i){return v.at(i-1);}int sqlist::get_next(int i){return v.at(i+1);}void sqlist::add_back(int e){v.push_back(e);len++;}void sqlist::delete_back(){v.pop_back();len--;}void sqlist::insert_elem(int e,int i){v.insert(v.begin()+ i,e);len++;}void sqlist::delete_elem(int i){v.erase(v.begin()+ i);len--;}void sqlist::traverse(){for(int i=0;i<len;i++)cout<<"The element is "<< v.at(i)<<endl; ;}void sqlist::sort_sql(){sort(v.begin(),v.end());}
0 0
- 简单数据结构之顺序表(C++ vector 实现)
- 简单数据结构之顺序表(C实现)
- 数据结构C语言实现之顺序表
- [数据结构]顺序表的C语言简单实现
- 简单数据结构之 vector 栈(C++ vector 实现)
- 简单数据结构之链式表(C实现)
- 数据结构---顺序表c实现
- 简单数据结构之顺序表(C++ 引用传递实现)
- 简单数据结构的实现之顺序栈
- 【C++】用模板实现顺序表Vector
- 数据结构之---c语言实现线性表的顺序表
- 一、数据结构基础之顺序表C语言实现
- C语言数据结构之:顺序表的实现
- 数据结构c语言实现之顺序线性表
- 数据结构之---C语言实现顺序表查找(一)
- 数据结构C语言实现之顺序栈
- 数据结构之顺序表实现
- 数据结构之顺序表实现
- oracle的sqlplus命令
- 关于 ibatis 的时间转化问题
- 毕业课题之------------图像的HOG特征提取
- js面向对象学习笔记之九(BOM 与 DOM 中常用属性分析)
- C++全局变量的声明和定义
- 简单数据结构之顺序表(C++ vector 实现)
- C#播放简单语音
- Qt下QTableWidget的使用
- N个for改成while的方法
- java.lang.RuntimeException: Unable to instantiate service无法启动IntentService zai
- 乐村淘颠覆农村电商概念
- 使用正则表达式解决CSV文件导入问题
- android setContentView() 、LayoutInflater的区别
- JS表单验证大全。。