建立源文件seqlist.cpp:
#define _crt_secure_no_warnings 1#include"seqlist.h"int main()
{test();system("pause");return 0;
}
建立源文件seqlist.h:
#ifndef __seqlist_h__
#define __seqlist_h__#include
using namespace std;
#includetypedef int datatype;
class seqlist
{
public:seqlist():_arr(null), _size(0), _capacity(0){}seqlist(const seqlist& s):_size(s._size), _capacity(s._capacity){memcpy(_arr, s._arr, sizeof(datatype)* s._size);}seqlist& operator= (const seqlist& s){if (this != &s){datatype* tmp = new datatype[s._size];memcpy(tmp, s._arr,sizeof(datatype) * s._size);delete _arr;_arr = null;_arr = tmp;_size = s._size;_capacity = s._capacity;}return *this;}~seqlist(){if (_arr){delete _arr;_arr = null;}}void pushback(datatype x){// 0 1 多_checkcapacity();if (_size == 0){_size = 1;_arr[0] = x;}else{_arr[_size ] = x;}}void printseqlist(){for (int i = 0; i < _size; i ){cout << _arr[i] << " ";}cout << endl;}void popback(){if (_size == 0){return;}else{_size--;}}void pushfront(datatype x){_checkcapacity();if (_size == 0){ _size;_arr[0] = x;return;} _size;for (int i = _size - 2; i >= 0; i--){_arr[i 1] = _arr[i];}_arr[0] = x;}void popfront(){if (_size == 0){return;}for (int i = 1; i < _size; i ){_arr[i - 1] = _arr[i];}--_size;}void insert(size_t pos, datatype x){if (_size == pos){pushback(x);return;} _size;for (int i = _size; i > pos; i--){_arr[i] = _arr[i - 1];}_arr[pos] = x;}int find(datatype x){int i = 0;while (i <= _size){if (_arr[i] == x){return i;}i ;}return -1;}void _checkcapacity(){if (_size >= _capacity){_capacity = 2 * _capacity 3;_arr = (datatype*)realloc(_arr, sizeof(datatype)* _capacity);}}
private:size_t _capacity;size_t _size;datatype* _arr;
};void test()
{seqlist s;s.pushback(1);s.pushback(2);s.pushback(3);s.pushback(4);s.printseqlist();s.popback();s.printseqlist();s.pushfront(0);s.printseqlist();s.popfront();s.printseqlist();s.insert(3, 10);s.printseqlist();int ret = s.find(10);printf("%d\n", ret);
}
#endif //__seqlist_h__
转载于:https://blog.51cto.com/10740184/1746842
总结
以上是尊龙游戏旗舰厅官网为你收集整理的【c 】实现动态顺序表的pushback(),popback(),pushfront(),popfront(),find(),insert的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。