
数据结构
csdn_gddf102384398
这个作者很懒,什么都没留下…
展开
-
单链表逆置
typedef struct tagNode{ int data; struct Node* next;}Node;void Reverse(Node* pHead){ Node* pReverse = pHead; Node* pCurrent = pHead->next; Node* pFirst = pHead->next; Node* pTail = NULL; Node* pTmp; if (!pHead) return; while (pCurre原创 2020-06-20 10:14:45 · 230 阅读 · 0 评论 -
《数据结构与算法(张铭)》上机题目
#include <iostream>using namespace std;void f(int m,int n){ if (m <= 0 || n <= 0) { cout << "error param!" << endl; return; } if (m <= n) n = m - 1; for (int ...原创 2020-01-15 21:46:46 · 842 阅读 · 0 评论 -
常用算法
#include &lt;stdio.h&gt;//顺序查找1,查找成功返回关键码在数组中的位置,位置从1开始;查找失败返回0。这种方法每次都要判断数组是否越界,效率较低int SeqSearch1(int* pArr,int n,int k){ int i; for (i = 0; i &lt; n; i++) { if (pArr[i] == k) return i +...原创 2019-01-21 10:10:43 · 195 阅读 · 0 评论 -
基于select非阻塞模型的服务端程序示例(Winsock2实现)
/*总结: ①无论阻塞还是非阻塞,select都不会立即返回,select就是用于非阻塞模型中的。 ②将SOCKET置于非阻塞模式下时,处理连接或处理收发数据的Socket API都会立即返回。 ③select会监视fd_set中的所有套接字,一旦有套接字发生IO事件(包括客户端的连接请求),select会立即返回, 并将fd_set中没有发生IO事件的套接字移除。由此可见,如果想让...原创 2018-11-25 19:34:31 · 579 阅读 · 0 评论 -
C++循环队列
队列如果使用链式存储结构则很容易实现,但是队列一般用于对大量数据进行频繁的入队和出队操作,若采用链式存储结构,则要频繁对内存进行分配和去配操作,开销很大,效率很低,因此如果要频繁的入队或出队操作时,链式结构是不合适的,而采用顺序存储结构的循环队列则很好的解决了这个问题。MyQueue.h#pragma onceclass MyQueue{public: MyQueue(int ite...原创 2018-10-10 16:48:21 · 3284 阅读 · 1 评论