C/C++
柚见
这个作者很懒,什么都没留下…
展开
-
void* 作为函数参数,函数返回值的用法
c语言中*表示变量为指针类型如int* p, double* q。虽然他们指向数据类型不同但是他们在内存中所占的大小是一致的,根据机器的字节码确定。sizeof(p) == sizeof(q)。但是对于他们的加减法运算有差异。p+1指针移动4个内存地址。q+1移动8个内存地址。viod* p是一个指向类型不明确的指针,也就是说p+1不明确移动多少个内存地址。但是我们可以灵活地将其进行类型转换使其转换为需要的数据类型。这样的好处是可以实现灵活的泛型编程。比如排序算法我们不知道需要排序的数据类型,在c++中可原创 2022-05-12 11:02:12 · 5849 阅读 · 1 评论 -
二叉树的非递归遍历
前序和后序 vector<int> preorderTraversal(TreeNode* root) { vector<int>res; stack<TreeNode*> st; //前序遍历 st.push(root); while(root!=nullptr && !st.empty()){ TreeNode* t = st.top(); st.po原创 2021-09-22 17:12:05 · 65 阅读 · 0 评论 -
1000G文件找topK
链接: link.转载 2021-09-14 19:30:32 · 126 阅读 · 0 评论 -
数据保存到char数组中字节流传输
网络编程时需要将数据保存到char数组中字节流传输。展示如何将int型数据保存到char数组中。 char buf[1024]; int arr[] = {123,45,678,980}; for(int i = 0; i < sizeof(arr)/sizeof(int); i++) *(int*)&buf[4*i] = arr[i]; for(int i = 0; i < sizeof(arr)/sizeof(int); i++)原创 2021-09-12 22:37:09 · 571 阅读 · 0 评论