- 博客(87)
- 收藏
- 关注
原创 二叉树的遍历以及搜索
#include #include #define ElemType char#define MaxQsize 20#define TRUE 1#define FALSE 0using namespace std;typedef struct BiTNode{ ElemType data; struct BiTNode *lchild,*r
2012-10-17 08:47:45 416
原创 循环队列
循环队列的类型定义 #define QueueSize 100 //应根据具体情况定义该值 typedef char DataType; //DataType的类型依赖于具体的应用 typedef struct{ int front; //头指针,队非空时指向队头元素 int rear; //尾指针,队非空时指向队尾元素的下一位置
2012-10-17 08:15:29 536
原创 二分查找算法 递归和非递归
二分查找算法: 1) 递归方法实现: int BSearch(elemtype a[],elemtype x,int low,int high) /*在下届为low,上界为high的数组a中折半查找数据元素x*/ { int mid; if(low>high) return -1; mid=(low+high)/2; if(x==a[
2012-10-17 08:02:16 506
原创 优先队列priority_queue容器的使用方法:出队,入队,删除队首元素,判断是否为空
#include #include using namespace std;int main(){priority_queue pq;//入队,插入新元素;pq.push(1);pq.push(2);pq.push(3);pq.push(9);//返回队列中元素数目;cout //所有元素出队,删除所有元素while (p
2012-10-17 07:53:50 12755
原创 用vector向量容器装入10个整数,使用迭代器iterator和accumulate算法统计这10个元素的和
#include #include #include using namespace std;int main(){vector v;int n;for (vector::size_type i=0; i {cin >> n;v.push_back(n);}for(vector::iterator index
2012-10-17 07:53:14 1236
原创 用map实现数字分离
#pragma warning(disable:4786)#include #include #include using namespace std;int main(){map m;m['0'] = 0;m['1'] = 1;m['2'] = 2;m['3'] = 3;m['4'] = 4;m['5'] = 5;m['6'] =
2012-10-17 07:52:43 469
原创 双向链表容器list的头尾中,全部删除
#include #include using namespace std;int main(){list l;for (size_t i=1; i {l.push_back(i);}list::iterator it;for(it=l.begin(); it != l.end(); ++it){cout }cout
2012-10-17 07:51:53 459
原创 双向链表容器list的头部、尾部、中间的插入
#include #include using namespace std;int main(){list l;//从尾部插入for (size_t i=1; i != 6; ++i){l.push_back(i);}list::iterator it;for(it=l.begin(); it != l.end(); ++it){
2012-10-17 07:51:27 697
原创 容器元素的删除erase,size,clear方法的使用
#include #include using namespace std;int main(){vector v;for(size_t i=0; i !=10 ; ++i){v.push_back(i);}for (vector::iterator it =v.begin(); it != v.end(); ++it){co
2012-10-17 07:50:48 676
原创 把字符指针赋给一个字符串对象
#include #include using namespace std;int main(){string s;char ss[50000];scanf("%s",&ss);//注意字符数组的数据名也要取地址,不然ss只是指向第一个字符的地址;s = ss; //直接把指针赋值给string 对象了cout return 0;
2012-10-17 07:50:17 656
原创 把输入的整数或者实数数据当成字符串来处理,方便
#include #include #include using namespace std;int main(){string s;s="123456789";int sum =0;for (size_t i=0; i != s.length() ; ++i){if(s[i]=='1')sum+=1;if(s[i]=='2')
2012-10-17 07:49:33 505
原创 vertor容器里面的insert()方面要求插入的位置,是元素的迭代器位置,而不是元素的下标
#include #include using namespace std;int main(){vector v(5);v[0]=0;v[1]=2;v[2]=4;vector::iterator index;for(index = v.begin(); index != v.end(); ++index){cout
2012-10-17 07:47:48 517
原创 string对象追加可用加号或者用append追加
#include #include using namespace std;int main(){string s;s.append("123");s.append("abc");s.append("456");cout cin.get();return 0;}
2012-10-17 07:47:07 591
原创 string对象与数值相互转换
#include #include #include using namespace std;//c++方法:将数值转换为stringstring converToString(double x){ostringstream o;if (o return o.str();return "conversion error";}/
2012-10-17 07:46:27 364
原创 string对象的insert,replace,earse,变成空串的方法
#include #include using namespace std;int main(){string s;s = "abcdedf";//插入string::iterator it;s.insert(s.begin(),'1');cout cout cout //替换,从第三个位置,连续4个位置,替换fans.replace
2012-10-17 07:44:59 946
原创 stack容器的用法:入栈、出栈、访问栈顶元素,判断是否为空
#include #include using namespace std;int main(){stack s;//入栈s.push(1);s.push(2);s.push(3);s.push(4);s.push(9);//读取栈顶元素cout //返回堆栈元素数量cout //判断堆栈是否为空cout
2012-10-17 07:43:39 3997 1
原创 sort默认升序排序
#include #include #include //reverse ,sort算法用的到using namespace std;int main(){vector v;for (size_t i=0; i != 10; ++i){v.push_back(i);}vector::iterator it ;for (i
2012-10-17 07:41:44 929
原创 set容器元素的插入和中序遍历,反向遍历,反向迭代器reverse_iterator和rbegin(),rend();
#include #include using namespace std;int main(){set s;s.insert(1);s.insert(12);s.insert(6);s.insert(8);//没用//中序遍历集合中的所有元素set::iterator it;for (it=s.begin(); it !=
2012-10-17 07:41:09 1925
原创 reverse反向排列
#include #include #include //reverse算法用的到using namespace std;int main(){vector v;for (size_t i=0; i != 10; ++i){v.push_back(i);}vector::iterator it;for (it=v.begin
2012-10-17 07:40:34 355
原创 queue队列容器入队,出队,读取队首元素,队尾元素,判断是否为空
#include #include using namespace std;int main(){queue q;q.push(1);q.push(2);q.push(3);q.push(9);//返回队列元素数量cout //队列是否为空cout //读取队首元素cout //读取队尾
2012-10-17 07:40:07 16631
原创 multimap对象创建、元素插入
#pragma warning(disable:4786)#include #include #include using namespace std;int main(){multimap m;//插入元素m.insert(pair("Jack",300.5));m.insert(pair("KIty",200));m.insert(p
2012-10-17 07:39:42 582
原创 map容器创建、元素插入和前向遍历访问
#include #include #include using namespace std;int main(){map m;m["Jack"] = 98.5;m["Bomi"] =96.0;m["Kate"] = 97.5;//前向遍历元素map::iterator it;for (it=m.begin(); it != m.en
2012-10-17 07:39:08 597
原创 list容器查找算法find(),
#include #include #include //注意需要这个库using namespace std;int main(){list l;for(size_t i=1; i {l.push_back(i);}list::iterator it;for (it=l.begin(); it!=l.end();++it){
2012-10-17 07:38:29 1537
原创 deque双端队列容器前、中、尾部插入
#include #include using namespace std;int main(){deque d;//尾部插入d.push_back(1);d.push_back(2);d.push_back(3);cout //从头部插入,不会增加元素,只会覆盖,而且元素往后移动d.push_front(10);
2012-10-17 07:37:54 826
原创 编写函数,要求输入年月日时分秒,输出该时间的下一秒
#include #include using namespace std;void ResetTheTime(int *year,int *month,int *date,int *hour,int *minute,int *second){int dayofMonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};i
2012-10-17 07:34:54 1794
原创 C++去掉注释
#include #include #include #include #include /***** *功能:移除C/C++程序代码中的注释 * *输入:指向C/C++程序代码的指针 */void remove_comment(char *buf,size_t size){char *p,*end,c;//单引号,双引号
2012-10-17 07:34:30 1131
原创 一个五位数ABCDE乘与4为EDCBA五个数还不重复
#include using namespace std;int main(){for (int i=10000; i{int j=0;int t=i;while (t!=0){j=j*10 + t%10;t /=10;}if ((i {cout break;}}}
2012-10-17 07:33:57 1127
原创 用宏定义FIND求一个结构体里某个变量相对于sturct的偏移量
如:struct student{int a;char b[20];double ccc;}则:FIND(student,a)//等于0 FIND(student,b)//等于4#define FIND(sturct,e) (size_t)&(((struct*)0)->e)因为该结构体首地址就是为0,所以其实就是得到成员e的偏移量
2012-10-17 07:33:13 567
原创 直接访问固定内存地址并赋值,编译器是会报错的
直接访问固定内存地址并赋值,编译器是会报错的。注意的转换为长整型long *p;p=(long*)0x12456789*p=0;
2012-10-17 07:31:49 533
原创 第一行第一列递增,其余等于上面的数字和左边的数字的和
f(m,n) = {n (m=1)m (n=1)f(m-1,n)+f(m,n-1) (上面一行和左边一行之和) }递归方法:#include using namespace std;int f (int m ,int n){if (1==m){return n;}if (1==n){return
2012-10-17 07:31:03 859
原创 查找A数组中某值与B中某值等值
#include using namespace std;void matching(int a[],int b[],int k){int i=0;while (i {int j=0;while ( j {if (a[i] == b[j]){cout break;}j++;}i++;}cout
2012-10-17 07:30:23 890
原创 找出水仙花数
#include #include using namespace std;int main(){int g_iMax =0;cout cin>> g_iMax;try {if (g_iMax throw g_iMax;}//依次检查从0到输入的数据for (int l_iLoop=0; l_iLoop {int l_iTm
2012-10-17 07:28:36 704
原创 打印矩阵N,按顺序增加
矩阵如下:1 2 34 516 17 1819 615 24 2520 714 23 2221 813 12 1110 9#include using namespace std;int a[10][10];void Fun(int n){int m=1,i,j;for (i=0; i{
2012-10-17 07:27:57 819
原创 析构函数的用法
要注意,vector对象指针能够自动析构,所以不需要再调用 delete ,否则会造成两次析构对象#include #include using namespace std;int i=0;int j=0;class CDemo{public:CDemo():str(NULL){cout }CDemo(const CDem
2012-10-17 07:27:29 400
原创 删除元素导致迭代器问题
#include #include using namespace std;void print(vector);int main(){vector array;array.push_back(1);array.push_back(6);array.push_back(6);array.push_back(3);//删除array数组中所
2012-10-17 07:26:25 419
原创 把普通函数修改成泛型函数
在一个数组里面寻找一个相同的元素把普通函数修改成泛型函数const int *find1(const int* array,int n, int x){const int *p = array;for (int i=0; i {if (*p == x){return p;}++p;}return 0;}//////
2012-10-17 07:25:31 749
原创 函数指针当做参数传递给另外一个函数
#include //比较函数int jug(int x,int y){if (x >=0)return x;else if (y==0)return x;elsereturn x/y;}//求和函数int sub(int x, int y){return (x+y);}//求差函数int minus(int x,
2012-10-17 07:24:47 790
原创 试用多态实现线性表
/*队列、串、堆栈都可以实现push,pop 测长等操作,现在要求用多态去实现,就要建立一个线性表的共性模板;*/#include using namespace std;templatestruct tcontainer{virtual void push(const t&) =0;virtual void pop() =0;virtual
2012-10-17 07:24:16 418
原创 编写类String的构造函数、析构函数和赋值函数
已知类String 的原型为:class String{public:String(const char *str = NULL);//普通构造函数String(const String &other);//拷贝构造函数~String(void);//析构函数String & operator = (const String &other);//赋值
2012-10-17 07:23:19 296
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人