c/c++
迷途中的前进
这个作者很懒,什么都没留下…
展开
-
c++:变量,数组和指针
指针是c++从c语言中继承过来的重要数据类型,它提供了一种较为直接的地址操作手段。1 数据在内存中的地址 对于高级语言来说,我们是通过定义变量的方式来为数据分配内存空间,使得变量名与该变量所占内存空间相联系 的,然后通过变量名来操作数据,也就是访问数据所占的内存空间。1.1 变量的地址 变量具有值和地址,要得到一个变量的地址,需要进行地址的运算(&)。比如: #inc原创 2015-06-19 09:28:26 · 782 阅读 · 0 评论 -
c++之链表篇1:单向链表的创建,打印,删除,插入,销毁等基本操作
在牛客网上刷题的过程遇到很多链表的问题,所以自己又结合着传智播客上的视频把链表整理了一下。#include using namespace std;//链表的的结点struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};//创建一个单向链表L原创 2016-10-07 16:49:20 · 5666 阅读 · 1 评论 -
笔试题:字符串去除空格
给定字符串(ASCII码0-255)数组,请在不开辟额外空间的情况下删除开始和结尾处的空格,并将中间的多个连续的空格合并成一个。例如:" i am a little boy. ",变成"i am a little boy",语言不限,但不要用伪代码作答,函数输入输出请参考如下的函数原型://C++函数原型:void FormatString(char原创 2016-09-05 14:46:34 · 885 阅读 · 0 评论 -
c++之排序篇2:冒泡排序法
#include //函数swap因为要交换两个数,所以要用引用“&”void swap(int &a,int &b)//冒泡排序法因为需要频繁的比较两个数组的大小,所以定义一个函数使用起来比较方便{ int temp ; temp = a; a = b; b = temp;}void BubbleSort(int *a ,int n){ for(int i = 0;i原创 2016-09-02 16:44:21 · 629 阅读 · 0 评论 -
c++之排序篇1:选择排序
#include void SelectSort(int *a ,int n){ int i ; int j ; int temp ; int flag ; for( i = 0;i<n-1;i++) { temp = a[i]; flag = i; for( j = i +1;j<n;j++) { if(a[j]<temp) { temp =原创 2016-09-02 16:14:05 · 568 阅读 · 0 评论 -
c++之数组篇3:判断一个整数x能否被分解为n个连续的整数相加
#include //using namespace std;int main(){ int x ; int n ; float temp = 0.0; printf("请输入被分解的数:"); scanf("%d",&x); printf("请输入分解的个数:"); scanf("%d",&n); temp = (float)x/n+(float)(1-n)/2;原创 2016-09-01 09:50:15 · 1327 阅读 · 0 评论 -
c++之数组篇2:计算两个有序数组的交集
#include //using namespace std;int mixed(int arr1[],int n1,int arr2[],int n2,int* mix ){ int i = 0; int j = 0; int k = 0; while (i < n1 && j < n2) { if(arr1[i] == arr2[j]) { mix[k++] =原创 2016-08-31 15:49:56 · 3857 阅读 · 0 评论 -
c++之数组篇1:对排序数组找出指定数字出现的次数
//本文来自《程序员面试笔试宝典》何昊等人编著#include //using namespace std;int BS(int *a,int length,int num,bool isLeft){ int left = 0; int right = length - 1; int last = -1; while(left <= right) { int mid = (原创 2016-08-31 14:37:26 · 2270 阅读 · 0 评论 -
C++OOP程序设计读书笔记之一:面向对象的程序设计简介
C++程序设计语言是由贝尔实验室的Bjarne Stroustrup于20世纪80年代开发的,是一门非常优秀且广泛应用的面向对象程序设计语言(objecct-oriented programming language),很多公司都采用c++来开发各种高性能的软件。c++只不过是一种编程语言,一种工具,我们使用c++这种编程语言来描述和表达周围的客观现实世界。但是我们学习c++编程语言的目的是学习程原创 2015-11-17 16:58:39 · 639 阅读 · 0 评论 -
c++OOP程序设计读书笔记之二:程序设计类别
1 结构化程序设计 结构化程序设计思想是一种非常实际的思考方式,它采用自上而下,逐步求精,模块化的程序设计,把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都被控制在人们容易理解和处理的范围内。打个比方来说,结构化程序设计就像写文章一样,先把大的框架定下来,而后再一步步把内容充实细化!一个程序由模块和函数来组织会非常高效,模块化是结构化程序设计中最重要的方法,c语言为例,其原创 2015-11-17 20:21:17 · 638 阅读 · 0 评论 -
c++:把数据输入文件
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间。 我理解的ofstream和ifstream这两个函数时,就想到把主程序当成主体,对于主程序来说,如果想要往一个文件里输出数据时,就用到ofstream,数据时从主程序往文本里输出,那么文件的属性就是可写的;对主程序来说要输入文本信息,就使用到ifstream,数据是从文本往主程序输送,原创 2015-09-06 15:15:22 · 1508 阅读 · 1 评论 -
c++:sprintf应用实例
/* *sprintf的作用是把同一类型的数据或者不同类型的数据格式化到第一个参数之中 */#include//#include #include using namespace std; int main(void){ char s[40];//这个s一定用字符数组的形式,否则老是出错,我当时用了字符指针形式就不对//char *s=0;sprintf(s,"%s%原创 2015-09-07 14:04:58 · 2087 阅读 · 1 评论 -
c++:批量把数据写入同一文件夹下不同文件
注意:一定要先把程序中文件夹新建好,如果没有新建的话,程序会不报错,但是也没有任何输出结果;文件夹下的文件不必新建,程序会自动新建,并读入数据。 #include #include #includeusing namespace std; int main () { int n=0; //char aaa[20]; char filename[200];原创 2015-09-07 14:43:17 · 3702 阅读 · 0 评论 -
c :函数指针详解
在研究opencv源代码的过程中,处处可见到函数指针,于是翻出来谭浩强的《C程序设计》把函数指针这一块内容再补一补!1 定义数据类型 (*指针变量名)(参数表);注:数据类型是指的函数返回值的类型;(*指针变量名)两侧的括号不能省略,表示p先与*结合,是指针变量,然后再与后面的(参数表)结合;(参数表)可以是一个参数,也可以是多个参数,不过在引用的时候要保证形参与实参一原创 2015-06-23 14:36:18 · 655 阅读 · 0 评论 -
c++之链表篇2:单向链表的反转(详细图文解读)
在牛客网上刷题的过程遇到很多链表的问题,所以自己又结合着传智播客上的视频把链表整理了一下,本文是在上文的基础上操作的,c++之链表篇1:单向链表的创建,打印,删除,插入,销毁等基本操作的。本文中的单链表的反转是对结点一个一个操作的,每次把后面的一个结点抛到前面,不需要开辟另外的内存空间,效率较高。下面请参考代码和图片中的变量来研究单链表的反转ListNode *listReverse(原创 2016-10-07 20:12:11 · 14827 阅读 · 1 评论