- 博客(8)
- 收藏
- 关注
原创 两个栈模拟队列,两个队列模拟栈
//栈 -> 后进先出//队列 -> 先进先出//1.两个栈 模拟实现一个队列templateclass MyQueue{public:void Push(T t) //插入不用判断,直接插入s1{s1.push(t);}T& Front() //取队头数据{if (s2.size() != 0)
2017-07-20 23:17:43
246
原创 链表所有的相关操作(合并,查找,逆制,判环,相交)
1.合并两个有序链表,合并以后的链表依旧有序。#pragma oncetypedef struct ListNode{ int _data; ListNode* _next;}Node;void Display(Node* head) //非递归打印{ while (head) { cout _data << " "; head = head->_next
2017-07-20 22:54:57
314
原创 堆排序的二三事
1.可以用做外排序。比如查找N个数据(假设数据量内存放不下)中最大的前K个,取这N个数据中的前K个建一个小堆,因为是小堆,所以,堆顶数据必然是最小的。此时,读取剩余数据,只要是大于堆顶数据,就交换堆顶数据和读到的数据。然后调整堆,让堆顶继续是最小数据。(永远保证堆里面保存着读之前所有数据中最大的前K个)一直读取,直到所有数据读结束。 此时堆里就保存着这N个数据中最大的前
2017-07-18 02:20:50
240
原创 10-29
1.将数组A中的内容和数组B中的内容进行交换。(数组一样大)#include #include int main(){ int i,j,k; int arr1[5]; int arr2[5]; int sz = sizeof(arr1) / sizeof(arr1[0]); printf("arr1= "); for (i = 0; i < sz; i++) {
2016-11-01 00:46:10
312
原创 10-28
1. 给定两个整形变量的值,将两个值的内容进行交换。#includeint main(){ int a=1,b=2; int tmp=0; printf("a=%d b=%d\n",a,b); tmp=a; a=b; b=tmp; printf("a=%d b=%d\n",a,b); return 0;}2. 不允许创建临时变量,交换两个数的内容(附加题)
2016-11-01 00:45:21
199
原创 10-26
1.打印100~200之间的素数#include int main(){ int i, j; for (j = 100; j <= 200; ++j) { for (i = 2; i <= j / 2; ++i) { if (j%i == 0) break; } if(i>j/2) printf("%d\n", j);
2016-11-01 00:44:18
217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人