日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

【C++】实现动态顺序表的PushBack(),PopBack(),PushFront(),PopFront(),Find(),Insert

發布時間:2025/1/21 c/c++ 87 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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<iostream> using?namespace?std; #include<assert.h>typedef?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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。