初学c++
文章平均质量分 60
JY_He
水平不高,始终坚持
展开
-
最近刚学到容器Vector,就顺便编写了两个简单的小程序
个人感觉容器vector就是一个动态数组,因为刚接触有点不习惯,不过写了两个程序后一个是一串数字的首尾相加,另一个是大小写转换,其实感觉真的跟数组很像,下面附上代码和运行结果:#include"stdafx.h"#include#include//其实就相当于一个动态数组using namespace std;int main(){ vectorivec;//定义容器类型和对象名 i原创 2015-08-14 14:31:34 · 555 阅读 · 0 评论 -
二叉树的三种遍历
最近要弄论文实在弄的头疼,没时间学习C++,趁下午没事就实现了二叉书的遍历,二叉树怎么说也是相当重要的东西,三种遍历顺序都应该熟悉掌握。我的二叉树的先序为:ABDCEFG (先序访问根节点,再先序访问左子树,再先序访问右子树) 中序为:DBAECGF(中序访问左子树,再中序访问根节点,再中序访问右子树) 后序为:DBEGFCA(中序遍历左子树,再中序遍历右子树,再访问根节点)下面是实现代码:原创 2015-09-11 17:18:30 · 709 阅读 · 0 评论 -
八皇后问题求解
最近一直在学数据结构与算法,这东西挺烧脑的。。。有时候一个算法要想好几天,还不一定想的出来(可能本人智商比较低),但算法这东西特别神奇有趣。今天碰到的是八皇后问题,我先简单说下游戏规则,具体的大家可以百度百科里面看。就是有8个皇后,放进8*8的棋盘里,每个皇后的行,列两个对角方向不能出现皇后,否则就会发生打架。。。大概就是这回事,官方给出有92钟解法。看完题目后,你会发现用蛮劲直接使用多个嵌套的f原创 2015-09-15 21:22:07 · 805 阅读 · 0 评论 -
不使用c++内置的sqrt,求平方根
今天上一届的学长学姐们面试,遇到一道题目就是不使用内置的求平方根函数求平方根,这里我自己实现了一下,也不叫简单#include "stdafx.h"#includeusing namespace std;double mysqrt(double a){ double x,t=0.000001,gab; for(x=0;x*x<=a;x+=t)gab=(x*x-a)+t; whil原创 2015-09-24 19:12:18 · 3593 阅读 · 1 评论 -
这次带来的小程序是:确定一个字符串有多少个单词,然后最长单词和最短单词有哪些
我们要检查一个字符串有多少个单词,如果我们单单去找单词来确定有多少个单词时,发现很困难,这时候可以考虑我前面给大家带来的每个单词的首字母大写这个思路出发,因为将每个单词的首字母改成大写就是检测到一个单词,这样我们就立马想到我们可以考虑单词与单词之间的分隔符号 例如: “空格”,“回车”,“:”,“,”这些符号,因为会发现每个单词都是用这些符号来分开的,这样我们思路就出来了:1,先找到这些符号,原创 2015-08-23 20:31:35 · 831 阅读 · 0 评论 -
矩阵相乘这个代码也应该是需要掌握的内容,今天一大早就写了一下
可能我写的比较繁琐,也是比较复杂慢的方法 不过最后还是实现了两个矩阵相乘,后续再简化把,废话不多说附上代码和运行结果#include"stdafx.h"#includeusing namespace std;int Calculate(int a[10][10],int b[10][10]){ int n,m,l,k; int c[10][10]; int sum=0; cout<原创 2015-08-18 12:58:37 · 950 阅读 · 0 评论 -
编辑距离Levenshtein
#include"stdafx.h"#include #include #include using namespace std;//算法int ldistance(const string source,const string target){ //step 1 int n=source.length(); int m=target.length();转载 2015-08-19 14:02:03 · 899 阅读 · 0 评论 -
阅读检测小程序
先这里谈谈个人最近两个月的学程序感受把,到了中期对程序的热情多少有点降温,特别是后面内容的复杂和难度性加大,个人也有偷懒的时候,一个多礼拜都没有进步,挺让人懊恼的,不过在这里给那些和我一样程序员初学者说一句我目前的鸡血座右铭:努力没有尽头,成功不会太远。加油各位!好下面就简单介绍一下我的小程序,就是一个对你的一段时间的阅读管理和检测程序把,挺简单的用到了vector和set的混用,实现起来就是原创 2015-08-28 16:55:44 · 1420 阅读 · 0 评论 -
数据结构必须掌握 栈---压栈和出栈
今天刚学到压栈出栈,就把这个具体过程都实现了一遍,废话不多说,代码如下:#include"stdafx.h"#includeusing namespace std;typedef class list{public: int data; list*next;}; typedef struct stack{ list*ptop; list*pbottom;}STA原创 2015-09-04 15:08:26 · 2018 阅读 · 0 评论 -
数据结构必须掌握内容队列--入队,出队
栈的压栈出栈的顺序是: 先进后出 ; 但是队列的入队和出队是:先进先出。 我上一篇实现了栈的压栈出栈,这次实现的队列的先进先出,废话不多说,附上代码和运行结果:#include"stdafx.h"#includeusing namespace std;typedef class queue{public: int *pbase; int front; int rear;}Q原创 2015-09-05 22:08:48 · 2391 阅读 · 0 评论 -
这次我实现了一个简单的通讯录
#include"stdafx.h"#include#includeusing namespace std; class AddressBook{public: string name; int num; AddressBook *next;};AddressBook*head=NULL;AddressBook*creat(){ AddressBook*p1原创 2015-08-12 22:06:57 · 878 阅读 · 0 评论 -
今天带来的是一个对图书编号和价格设定程序 不是很完善希望大家给与建议进行修改
今晚就编译了一个动态链表来实验图书编号价格代码,可能不是很完善很简明 希望大家给与建议,下面是实现代码和运行结果:#include"stdafx.h"#include#includeusing namespace std;class Book{public:int num;float price;Book*next;};Book*head=NULL;原创 2015-08-08 21:53:41 · 743 阅读 · 0 评论 -
这里想经过一个小程序研究标准库为 vector 对象提供的内存分配策,因为vector容器比list和deque容器用的很多,而且它的存储方式是连续的
我写一个简单的程序来区分vector容器size()和capacity()函数,这里capacity函数就是为vector容器预留了空间,不需要每次增添元素就要重新分配内存,这样效率上提高了很多,我通过一个间的小程序来研究,下面是程序和运行结果,比较简明可以看出capacity的大小都会比size大,因为size 指容器当前拥有的元素个数;而 capacity 则指容器在必须分配新存储空间之前原创 2015-08-21 13:54:13 · 992 阅读 · 0 评论 -
c++中的三种排序,比较基础,因为作为一个编程员总要会几种排序方法
我可能自己写的不是很清楚,如果写的不是很好或者不对的方面可以指出,毕竟自己也是个初学者,批评也是一个学习过程嘛 //最简单的排序法#include"stdafx.h"#includeusing namespace std;void sort(int [],int);void sort(int p[],int n){ int temp; for(int i=0;i<n;i++) {原创 2015-08-10 21:36:24 · 619 阅读 · 0 评论 -
续之前那个图书管理代码,还在修改实现中
最近可能状态不太好,繁琐的事情有点多,效率也没有那么高,这段代码弄的也头痛,这次添加了一些功能,后续还是会慢慢改进,先附上代码和运行结果图给大家看看:#include"stdafx.h" #include#includeusing namespace std;class Book{public: int num; float price; Book*next;};Book原创 2015-08-10 21:29:29 · 687 阅读 · 0 评论 -
今天一天都在忙论文的事情,所以今天没时间来学习c++,那就给大家带来一个简单小程序杨辉三角把
这是我们小学数学接触的三角形杨辉三角,杨辉三角的特点就是两条腰上的值都为1,而且每行中间元素的值等于上一行前面的元素加上上一行头顶的元素之合,这里我就用i表示行,j表示列,a[i][j]表示i行,j列位置的数大小。这里公式就是a[i][j]=a[i-1][j-1]+a[i-1]a[j],废话不多说,附上代码和运行结果图。#include"stdafx.h"#includeusing n原创 2015-08-07 21:41:36 · 680 阅读 · 0 评论 -
刚接触C++,在此就写一个转化为二进制的小程序
在c++标准库里面有一个bitset这个头文件可以实现也是最简单的方法,首先我先实现最简单的方法:#include"stdafx.h"#include#include//转成二进制的头文件using namespace std;int main(){int n;bitsetnb;//biset变量名coutcin>>n;//输入要转换的数nb原创 2015-08-05 15:44:27 · 888 阅读 · 0 评论 -
作为c++初学者 又给大家带来一个小程序 英文句子的首字母大写
这个小程序实现首字母大写,也是作为学生应该掌握的小程序,大家一起学习把,作为一个初学者我会把每次有趣的小程序都贴上来,一起学习一起进步!#include"stdafx.h"#includeusing namespace std;void change(char);void change(char a[]){int n;n=strlen(a);//strlen原创 2015-08-06 20:54:01 · 2448 阅读 · 0 评论 -
递增和二分组合的查找法
前面我们分别列出了递增查找法和二分查找法,各有优缺点。递增适用范围广,对数组元素顺序没有要求,但效率较低;而二分法运算效率高,但对数组元素的排列有要求需要从小到大排序好。因此我们可以将两种算法组合到一个程序里面,先去判断给出的数组元素是否已经排列好,若排列好就使用二分法查找运行速度快,若没有排序好就使用递增法进行查找,下面是实现代码:#include"stdafx.h"#include原创 2015-08-05 21:36:35 · 634 阅读 · 0 评论 -
二分法查找
这里继续上一篇文章,这里给大家带来一个C++经典的查找方法二分法。首先我先在这里简单的叙述一下思想原理,譬如给你一组已经排序好的数组元素进行查找。我们可以先确定最开始的元素下标,最后的元素下标,然后去中间元素下标。用需要查找的数与中间元素下标的元素对比,若相等则返回中间元素下标值,若不等,我们进行判断,若比中间值大,则在中间值右边,此时我们需要修改开始元素下标,从中间元素下标下一个元素开始到最后元原创 2015-08-05 20:26:12 · 528 阅读 · 0 评论 -
这次给大家带来的是一个简单的查找程序
这个是学数组时,编写的一个很基础的一个查找程序,不过这也是查找的一种思想把,递增查找:#include"stdafx.h"#includeusing namespace std;int find(int,int[],int);int find(int a,int x[],int n)//而接受的函数有3种接受方法标准型,简明型和指针{for(int i=0;i{原创 2015-08-05 19:58:56 · 500 阅读 · 0 评论 -
数学问题和狼追兔问题
数据结构算法之数学问题和狼追兔问题,java还没学完这里就用c++实现,不难请看代码。//该程序简单实现4个数能组成多少个不同的三位数(不能重复),并且输出这些数。#include "stdafx.h"#includeusing namespace std;int main(){ int bw,sw,gw; int count=0; for(bw=1;bw<=4;bw++)原创 2015-10-08 14:03:33 · 784 阅读 · 0 评论