C++ 自定义数据结构:链表实现与二进制表示
#include\x20
using\x20namespace\x20std;
//\x20自定义数据结构 struct\x20CustomDataStructure\x20{ \x20\x20int\x20data; \x20\x20CustomDataStructure*\x20next; };
//\x20插入元素 void\x20insertElement(CustomDataStructure*&\x20head,\x20int\x20data)\x20{ \x20\x20CustomDataStructure*\x20newNode\x20=\x20new\x20CustomDataStructure; \x20\x20newNode->data\x20=\x20data; \x20\x20newNode->next\x20=\x20nullptr; \x20\x20 \x20\x20if\x20(head\x20==\x20nullptr)\x20{ \x20\x20\x20\x20head\x20=\x20newNode; \x20\x20}else\x20{ \x20\x20\x20\x20CustomDataStructure*\x20temp\x20=\x20head; \x20\x20\x20\x20while\x20(temp->next\x20!=\x20nullptr)\x20{ \x20\x20\x20\x20\x20\x20temp\x20=\x20temp->next; \x20\x20\x20\x20} \x20\x20\x20\x20temp->next\x20=\x20newNode; \x20\x20} }
//\x20查找元素 bool\x20searchElement(CustomDataStructure*\x20head,\x20int\x20data)\x20{ \x20\x20CustomDataStructure*\x20temp\x20=\x20head; \x20\x20while\x20(temp\x20!=\x20nullptr)\x20{ \x20\x20\x20\x20if\x20(temp->data\x20==\x20data)\x20{ \x20\x20\x20\x20\x20\x20return\x20true; \x20\x20\x20\x20} \x20\x20\x20\x20temp\x20=\x20temp->next; \x20\x20} \x20\x20return\x20false; }
//\x20获取存储内容的二进制表示 void\x20getBinaryRepresentation(CustomDataStructure*\x20head)\x20{ \x20\x20CustomDataStructure*\x20temp\x20=\x20head; \x20\x20while\x20(temp\x20!=\x20nullptr)\x20{ \x20\x20\x20\x20bitset<sizeof(int)\x20*\x208>\x20binary(temp->data); \x20\x20\x20\x20cout\x20<<\x20binary\x20<<\x20endl; \x20\x20\x20\x20temp\x20=\x20temp->next; \x20\x20} }
int\x20main()\x20{ \x20\x20CustomDataStructure*\x20head\x20=\x20nullptr; \x20\x20 \x20\x20insertElement(head,\x2010); \x20\x20insertElement(head,\x2020); \x20\x20insertElement(head,\x2030); \x20\x20 \x20\x20cout\x20<<\x20"Is\x2020\x20present?\x20"\x20<<\x20(searchElement(head,\x2020)\x20?"Yes":"No")\x20<<\x20endl; \x20\x20cout\x20<<\x20"Is\x2040\x20present?\x20"\x20<<\x20(searchElement(head,\x2040)\x20?"Yes":"No")\x20<<\x20endl; \x20\x20 \x20\x20getBinaryRepresentation(head); \x20\x20 \x20\x20return\x200; }
//\x20用途及原理: //\x20上述代码实现了一个链表的数据结构,并提供了插入元素和查找元素的功能。 //\x20链表是一种动态数据结构,它可以在运行时动态地分配内存空间来存储数据元素,不需要预先指定存储空间的大小。 //\x20这种数据结构的存储空间开销大于64个字节,因为每个节点包含一个整数数据和一个指向下一个节点的指针,至少需要4个字节(32位系统)。 //\x20插入元素函数通过遍历链表找到最后一个节点,然后在其后插入一个新节点,时间复杂度为O(n),其中n为链表的长度。 //\x20查找元素函数通过遍历链表逐个比较节点的数据值,如果找到相等的数据则返回true,否则返回false,时间复杂度为O(n)。 //\x20getBinaryRepresentation函数将链表中每个节点的数据值以二进制形式显示出来,利用了bitset库来将整数转换为二进制表示。 //\x20通过这种自定义的数据结构,可以方便地存储和操作一系列数据元素,并且可以根据需要动态调整存储空间的大小。
原文地址: https://www.cveoy.top/t/topic/pywt 著作权归作者所有。请勿转载和采集!