欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 编程语言 > c/c >内容正文

c/c

【c 】实现动态顺序表的pushback(),popback(),pushfront(),popfront(),find(),insert -尊龙游戏旗舰厅官网

发布时间:2025/1/21 c/c 22 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 【c 】实现动态顺序表的pushback(),popback(),pushfront(),popfront(),find(),insert 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

建立源文件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的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图