学校网站建设开发装饰设计师在哪个平台上寻找

张小明 2026/1/7 21:21:03
学校网站建设开发,装饰设计师在哪个平台上寻找,自己做的美食在哪个网站上卖,工信部网站备案信息怎么查询系统1.数组的C实现及相关知识(1)数组的C实现C是一门面向对象编程的语言#xff0c;对于数组的实现我们就是要将数组这个对象的方法和属性写到数组类当中#xff0c;程序如下#xff1a;//数组实现 class Array {public://构造Array(int size 10):mCap(size){mpArr new int[siz…1.数组的C实现及相关知识(1)数组的C实现C是一门面向对象编程的语言对于数组的实现我们就是要将数组这个对象的方法和属性写到数组类当中程序如下//数组实现 class Array { public: //构造 Array(int size 10):mCap(size) { mpArr new int[size]; mCur 0; //当不小心将mCur写成了mCap时添加数量超过了最开始的的数组容量在显示时数组成功扩容了但是mCap显示 } //的是0是因为其实其并没有成功扩容而是数组进行了越界访问。 //析构 ~Array() { delete []mpArr; mpArr nullptr; } //末尾位置增加元素 void push_back(int val) { if(mCur mCap) { explend(2*mCap); } mpArr[mCur] val; } //末尾位置删除元素 void pop_back() { mCur--; } //指定位置插入元素 void insert(int pos,int val) { if(pos 0 || pos mCur) { return; } if(mCur mCap) { explend(2*mCap); } for(int i mCur-1;ipos;i--) { mpArr[i1] mpArr[i]; //在数组里面对下标进行增加减小操作时不能使用自增自减 } mpArr[pos] val; mCur ; } //指定元素删除 void erase(int val) { int pos find(val); if(pos ! -1) { for(;posmCur;pos) { mpArr[pos] mpArr[pos1]; } } mCur--; } //查找指定元素 int find(int val) { int pos; for(pos0;posmCur;pos) { if(mpArr[pos] val) { return pos; } } return -1; } //显示数组元素 void show() { for(int i 0;imCur;i) { cout mpArr[i] ; } cout endl; } //获取有效元素个数 int getmCur() { return mCur; } //获取数组容量 int getmCap() { return mCap; } private: int *mpArr; //指向创建的那块堆上的数组空间 int mCap; //数组空间大小 int mCur; //数组有效元素个数 //数组内部扩展空间 void explend(int size) { int* p new int[size]; memcpy(p,mpArr,sizeof(int)*mCur); delete[]mpArr; //注意扩容后该指针要指向新开辟的内存所以原来的内存空间要释放 mCap size; mpArr p; } };在编写该类中的一些注意事项1.当在进行构造函数编写时我们肯定是要将数组的有效元素个数成员变量置为0的但是若不小心将其写成了数组容量为0在我们使用该类时是注意不到的。而且在对该类进行添加成员数组扩容时数组也是会正常输出但是这里的数组时进行了越界访问的因为当数组的容量不小心被设置成0时并不满足我们所设置的扩容条件所以需要注意不要写错了。2.在数组进行下标访问来获取数组的前后元素时下标注意不要写成自增和自减只能进行加减操作只能改变访问的位置不要改变了i的大小。3.在扩容函数中我们要注意在指向新扩容的数组空间之前我们要先将原来指向的那块数组空间进行一个释放。(2)数组的优缺点和相关知识数组的特点内存是连续的。数组的优点1.下标访问随机访问的时间复杂度是O(1)2.末尾位置增加和删除元素时间复杂度是O(1)3.访问元素的前后元素非常方便数组的缺点1.非末尾位置增加和删除元素要进行大量的数组移动时间复杂度是O(n)2.搜索的时间复杂度无序数组是O(n)有序数组用二分查找是O(logn)3.数组扩容消耗较大下面来看一下与数组相关的一些其他知识数组逆序的实现void MyReverse(char arr[],int size) { char* p arr; char* q arrsize-1; while(pq) //指针可以直接进行大小比较 { char ch *p; *p *q; *q ch; p; q--; } }注意的是指针是可以进行大小比较的相当于地址值之间大小的比较指针之间的加减特别是指向同类型存储数据的加减得到的是两指针之间元素的个数。数组内的分类(奇偶分类)void AdjustArray(int arr[],int size) { int *p arr; int *q arrsize-1; while(pq) { while(pq) { if((*p 0x1) 1) //位运算符的优先级低于该判断逻辑运算符要加上小括号 { break; } p; } while(pq) { if((*q 0x1 ) 0) { break; } q--; } if(pq) { int tmp *p; *p *q; *q tmp; p; q--; } } }数组除去指定值int Test(int arr[],int size,int val) { int *p arr; int *q arrsize-1; while(pq) { while(pq) { if(*p val) { break; } p; } while(pq) { if(*q ! val) { break; } q--; } if(pq) { *p *q; p; q--; } } return p-arr; }2.单链表的C实现及相关知识(1)单链表的C实现同样我们将关于单链表的成员方法和成员变量都放在一个类中程序如下// 节点类 struct Node { Node(int data 0) : _data(data), _next(nullptr) {} int _data; Node *_next; }; // 链表类 class List { public: List() { _head new Node(); } ~List()//注意链表的析构要将链表在堆中new出的所有节点都要释放 { Node *p _head; while(p ! nullptr) { _head _head-_next; delete p; p _head; } } // 尾插法 void InsertTail(int val) { Node *p _head; while (p-_next ! nullptr) { p p-_next; } p-_next new Node(val); } // 头插法 void InsertHead(int val) { Node *p new Node(val); p-_next _head-_next; _head-_next p; } // 删除链表中指定元素的第一个元素 void Remove(int val) { Node *q _head; Node *p _head-_next; while (p ! nullptr) { if (p-_data val) { q-_next p-_next; delete p; return; // 找到并删除该节点后要return退出 } else { q p; p p-_next; } } } // 删除链表中指定元素的所有元素 void RemoveAll(int val) { Node *q _head; Node *p _head-_next; while (p ! nullptr) { if (p-_data val) { q-_next p-_next; delete p; p q-_next; } else { q p; p p-_next; } } } // 显示 void show(void) { Node *p _head-_next; while (p ! nullptr) { cout p-_data ; p p-_next; } cout endl; } private: Node *_head; };注意点1.对于链表来说每一个节点都是在堆上new出来的在实现其析构函数时我们也要将其所有的节点进行释放。2.在实现删除对应元素值的第一个元素方法时在删除完成后我们就要进行return返回了。(2)单链表的优缺点和相关知识单链表的特点每一个节点都是在堆上new出来的节点内存不连续单链表的优点1.内存利用率高不需要大块连续内存2.插入和删除节点不需要移动其他节点时间复杂度为O(1)3.不需要专门进行扩容单链表的缺点1.内存占用量大每一个节点都要多出内存来存放地址2.内存不连续无法进行内存的随机访问3.链表搜索效率不高只能从头节点开始往后搜索时间复杂度为O(n)单链表的相关知识点单链表的逆序void ReserveList(List list) // 单链表逆序可以采用头插法 { Node *p list.head_-next_; list.head_-next_ nullptr; while (p ! nullptr) { Node *q p-next_; p-next_ list.head_-next_; list.head_-next_ p; p q; } }单链表的逆序可以采用头插法的思想实现。在单链表中找到其倒数第k个节点bool GetNode(List list,int k) { if(k0) //参数有效性判断 { return false; } Node *p list.head_; Node *q list.head_; for(int i 0;ik;i) { p p-next_; if(p nullptr) return false; } while(p ! nullptr) { p p-next_; q q-next_; } cout q-data_ endl; return true; }一般在有参数传递的函数中可以先进行参数的有效性判断。合并两个有序的链表//合并两个有序链表 void MergeList(List list1 ,List list2) { Node *p list1.head_-next_; Node *q list2.head_-next_; Node *last list1.head_; while(p ! nullptr q ! nullptr) { if(p-data_ q-data_) { last-next_ p; p p-next_; last last-next_; } else { last-next_ q; q q-next_; last last-next_; } } if(p ! nullptr) { last-next_ p; } else if(q ! nullptr) { last-next_ q; } list2.head_-next_ nullptr; }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

中山做app网站公司湘潭做网站 都来磐石网络

从零开始玩转ESP32:手把手带你点亮第一盏物联网LED 你是不是也曾在刷智能插座、温控窗帘或远程监控摄像头时,心里冒出过一句:“这玩意儿,我能自己做吗?” 答案是: 当然能,而且比你想的简单得…

张小明 2026/1/8 19:35:30 网站建设

wordpress网站标题排名好的昆明网站建设

如何快速获取AC6966B蓝牙音箱完整原理图 【免费下载链接】AC6966B蓝牙音箱标准原理图下载分享 AC6966B蓝牙音箱标准原理图下载 项目地址: https://gitcode.com/Open-source-documentation-tutorial/d58d7 AC6966B带时钟功能蓝牙音箱标准原理图V1.1.pdf是杰理公司推出的专…

张小明 2026/1/8 15:55:23 网站建设

公司网站模板源代码外贸建站的公司

还在为ESP芯片烧录烦恼吗?esptool就是你的救星!这款强大的Python工具让ESP32、ESP8266等芯片的固件烧录变得简单高效。无论你是物联网开发者、嵌入式工程师还是电子爱好者,掌握esptool都将让你的开发工作事半功倍。 【免费下载链接】esptool …

张小明 2026/1/8 17:55:38 网站建设

多个端口网站如何做域名重定向电商网页设计欣赏

生成式人工智能的浪潮正引发各领域的颠覆性变革,在学术研究这一知识生产的前沿阵地,其影响尤为显著。文献检索作为科研工作的基石,在AI技术的赋能下各大学术数据库已实现智能化升级。小编特别策划"AI科研导航"系列专题,…

张小明 2026/1/3 2:51:29 网站建设

广东省住房和建设网站长春网站营销

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2026/1/3 0:32:07 网站建设

正规建网站企业邓州网站制作

CookieCutter-Django:现代Django项目的智能脚手架解决方案 【免费下载链接】cookiecutter-django cookiecutter/cookiecutter-django: cookiecutter-django 是一个基于Cookiecutter项目的模板,用来快速生成遵循最佳实践的Django项目结构,包括…

张小明 2026/1/3 20:14:39 网站建设