- 博客(21)
- 资源 (12)
- 收藏
- 关注
原创 栈的相关题目
栈的实现(数组)#include#includetemplate class ArrayStack {public: ArrayStack(int c = 100): capacity(c), top(-1) { data = new T[capacity](); } ArrayStack(const ArrayStack &rhs):capacity(rhs.capacit
2014-12-31 12:52:50
819
原创 [LeetCode] Single Number
Given an array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it without using e
2014-10-27 10:18:23
477
原创 队列(链表形式)实现_c++
template class Queue;template ostream& operator&);template class QueueItem{ friend class Queue; friend ostream& operator (ostream&, const Queue&); QueueItem(const T& t):item(t),next(0){} T it
2014-06-22 15:01:08
927
原创 栈(vector)实现 c++
#include #includeusing namespace std;template class Stack{public: void Push(const T& key); void Pop(); T& Top(); bool Empty() const;private: vector c;};template void Stack::Push(const T
2014-05-10 14:06:46
1587
原创 快速排序实现_c++
templatevoid ShellSort(vector& v){ for (int gap = v.size(); gap > 0; gap /=2) { for (int i = gap; i < v.size(); ++i) { Type tmp = v[i]; int j = i; for (; j >= gap && tmp < v[j-gap];
2014-04-27 11:44:02
620
原创 归并排序实现_c++
templatevoid Merge(vector &a, int p, int q, int r){ int left_end = q; int right_end = r; int left_pos = p; int right_pos = q+1; int numElements = r - p + 1; vector temp_vector; while (left_p
2014-04-17 22:58:18
671
原创 快速排序实现_c++
templateint Partition(vector& a, int start, int end){ Type pivot = a[end]; int i = start-1; for (int j = start; j < end; ++j) { if (a[j] <= pivot) { swap(a[++i],a[j]); } } swap(a[
2014-04-17 20:19:11
551
原创 插入排序实现_c++
templatevoid InsertSort(vector& a){ for (int j = 1; j < a.size(); ++j) { Type key = a[j]; int i = j-1; while (i>=0 && a[i]>key) { a[i+1] = a[i]; i--; } a[i+1] = key; }}
2014-04-17 19:15:04
536
原创 队列(数组形式)实现_c++
template class Queue{public: Queue():MAXSIZE(20),head(0),tail(0),count(0) { array = new Type[MAXSIZE]; } ~Queue() { delete []array; } bool IsFull(); bool IsEmpty(); bool EnQueue(const Ty
2014-04-16 20:56:42
867
原创 栈(数组形式)实现_c++
templateclass Stack{public: Stack():top(-1),MAXSZIE(20) { stacka = new Type[MAXSZIE]; } ~Stack() { delete []stacka; } bool Push(const Type& value); bool Pop(); Type Top(); bool Empty(
2014-04-16 20:13:56
688
原创 双向链表实现_c++
#include using namespace std;template class List;template class ListNode{ friend class List; ListNode(const T& t):key(t),prev(0),next(0){} T key; ListNode *prev; ListNode *next;};template
2014-04-16 17:15:33
696
原创 二叉搜索树_c++
#includeusing namespace std;template struct BinaryNode{ BinaryNode(const T& t):key(t), p(0),left(0),right(0){} T key; BinaryNode *p; BinaryNode *left; BinaryNode *right;};template class Bi
2014-04-13 17:03:34
722
原创 堆排序实现_c++
#include #include using namespace std;int Left(int i){return 2*i;}int Right(int i){return 2*i+1;}template void MaxHeapfy(vector& heap, int i, int heap_size){int l = Left(i);int r = Right(i);int larges
2014-04-12 11:08:51
640
翻译 glrotatef如何绕自身轴旋转
首先我们知道所有的opengl操作都以点(0,0,0)作为基点。glrotatef(旋转角度(0~360),x,y,z),z,y,z是旋转轴。由于旋转操作全都围绕点(0,0,0),所以如果你的物体并非在(0,0,0)点绘制,那么其旋转的时候就会有偏移。比如,我们假设有一个正方体,近角点的坐标是(0,0,0)远角点的坐标是(1,1,1)。为了使这个正方体绕其中心旋转,我们必须把它的中心点移动
2014-02-28 22:47:06
12029
1
原创 C++ const用法及注意事项
effective c++ 条款03讲到:Use const whenever possible 由此可见const 限定符对于c++的重要性。下面尽可能全面的总结const 的用法和技巧。主要资料来源于c++ primer,标题后的页码为c++ primer 中文版(第四版)的页码。 (一) const限定符(p49)定义const对象时要初始化除非特别说明,
2013-11-24 21:49:04
810
原创 如何在vs2010中设置C++ main 函数的实参int main(int argc ,char *argv[])
今天阅读了C++ primer 第四版的第七章,习题7.15,7.16 需要使用main函数是实参。编写好程序后,却发现不知道如何在vs2010中如何加入实参。查询了资料后终于发现了在vs2010种添加方法和规则。 1.先展示展示C++ primer 第四版 例题7.15的程序 #include using namespace std;int main(int arg
2013-10-30 15:16:23
10160
原创 C++Primer 第四版 习题9.27的答案问题
最近在啃C++ primer ,偶然发现习题C++ Primer习题解答 给出的9.27的答案是不正确的。原答案为:#include #include #include #include using namespace std;int main(){ list slst; string str; //读入list对象 string s; cout<<"Enter
2013-10-27 15:40:28
1040
转载 windows3.0与OS/2兼容的DIB(BITMAPCOREHEADER结构解析)
在OS/2样式的DIB内,BITMAPFILEHEADER结构后紧跟了BITMAPCOREHEADER结构,它提供了关于DIB图像的基本信息。紧缩的DIB(Packed DIB)开始于BITMAPCOREHEADER:typedef struct tagBITMAPCOREHEADER // bmch{DWORD bcSize ; // size of the structure =
2013-10-12 15:43:09
1198
原创 BMP文件格式
DIB是标准的Windows位图格式,BMP文件中包含了一个DIB。一个BMP文件大体上分成如下四个部分。1. 位图文件头位图文件头包含有关于文件类型、文件大小、存放位置等信息,在Windows 3.0以上版本的位图文件中用BITMAPFILEHEADER结构来定义: typedef struct tagBITMAPFILEHEADER { /* bmfh */ U
2013-10-10 21:09:36
966
转载 Invalidate、InvalidateRect、UpdateData、UpdateWindow的用法和区别
InvalidateRect()函数的作用是设置一个无效区域,并发送一个WM_PAINT消息到消息队列中,不过这个消息在众多的消息之中优先级比较级。在VC++编程中,对无效区域的处理方式是:在OnPaint()中绘图,不管它绘制了什么图形,有一点应该明白,有效区域是绘制不上去图形的,或者是尽管绘制上去了,但也不会显示出来。总之就是在有效区域上绘制的图形不能生效。换一种说法就
2013-10-09 14:17:48
2333
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人