![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
斯diu配德
这个作者很懒,什么都没留下…
展开
-
牛客网-剑指offer-替换空格
class Solution { public: void replaceSpace(char *str,int length) { int SpaceNum = 0; int OrgStrLen, NewStrLen; int i, len1, len2; if (str == NULL || length < 0) return ;原创 2017-08-17 09:50:42 · 232 阅读 · 0 评论 -
判断二维坐标系中任意一个点是否在三角形内
给定平面上一点p(x0,y0),判断该点是否在三角形ABC中,三角形顶点坐标分别为A(xa,xb),B(xb,yb),C(xc,yc)。可以使用面积法来判断,方法如下:其中S(A,B,C)表示三角形ABC的面积。 1、 若abs( S(A,B,C) ) = abs( S(P,B,C) ) + abs( S(A,P,C) ) + abs( S(A,B,P) ) ,则P在三角形ABC的内部或边原创 2017-10-23 19:51:03 · 2869 阅读 · 1 评论 -
printf实现原理
在C/C++中,对函数参数的扫描是从后向前的。C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出来,在计算机的内存中,数据有2块,一块是堆,一块是栈(函数参数及局部变量在这里),而栈是从内存的高地址向低地址生长的,控制生长的就是堆栈指针了,最先压入的参数是在最上面,就是说在所有参数的最后面,最后压入的参数在最下面,结构上看起来是第一个,所以原创 2017-09-27 21:29:38 · 396 阅读 · 0 评论 -
牛客网-剑指offer-从头到尾打印链表
输入 – 链表的表头 输出 – 要打印的“新链表”的表头描述:对于这种顺序颠倒的问题,一般会想到栈,先进后出。———-方法一 : 通过借助容器vector和栈stack共同完成 解决这个问题肯定要遍历链表。遍历的顺序是从头到尾的顺序,可输出的顺序却是从尾到头。也就是说第一个遍历到的结点最后一个输出,而最后一个遍历到得结点第一个输出。这就是典型的“后进先出”,可以用栈实现这种顺序。每原创 2017-08-18 10:20:12 · 334 阅读 · 0 评论 -
牛客网-剑指offer-二维数组查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 target – 待查找数字 array – 数组———-Python方法# -*- coding:utf-8 -*- class Solution: # array 二维列表 def Find(原创 2017-08-17 10:01:46 · 248 阅读 · 0 评论 -
C中 snprintf()函数的作用
函数原型:int snprintf(char* dest_str,size_t size,const char* format,...);所需头文件:#include<stdio.h>函数功能:先将可变参数 “…” 按照format的格式格式化为字符串,然后再将其拷贝至dest_str中。注意事项:如果格式化后的字符串长度小于size,则将字符串全部拷贝至dest_str中,并在字符串结尾处加上‘\原创 2017-09-08 15:52:34 · 18721 阅读 · 5 评论 -
牛客网-DNA最长片段
牛牛从生物科研工作者那里获得一段字符串数据s,牛牛需要帮助科研工作者从中找出最长的DNA序列。DNA序列指的是序列中只包括’A’,’T’,’C’,’G’。牛牛觉得这个问题太简单了,就把问题交给你来解决。 例如: s = “ABCBOATER”中包含最长的DNA片段是”AT”,所以最长的长度是2。 输入描述: 输入包括一个字符串s,字符串长度length(1 ≤ length ≤ 50),字符串中原创 2017-09-14 10:31:06 · 578 阅读 · 0 评论 -
C语言各类型所占字节数
各类型所占字节原创 2017-09-18 21:47:47 · 807 阅读 · 0 评论 -
剑指offer-重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路: 这道题首先要自己用笔在纸上能建立出来。 就用题目举例,前序第一个是1那根节点肯定是1,然后看中序遍历,4 7 2在1的左边,那4 7 2就原创 2017-09-22 20:16:16 · 165 阅读 · 0 评论 -
解决两个浮点数是否相等
整数的相等比较可以直接使用==来判断,但是浮点数的比较不能简单的用==来比较。那怎么对浮点数是否相等进行判断呢?– 利用差值的绝对值的精度来判断。具体就是:f1和f2是两个浮点数,precision是我们自己设置的精度,比如1e-6。则可以用 fabs(f1-f2)<=precision 来判断f1和f2是否相等。如果要求更高的精度,则把precision定得更小就行了 这个方法还存在问题:首先原创 2017-09-26 08:46:34 · 751 阅读 · 0 评论 -
使用 getopt() 进行命令行处理
引言 在早期的 UNIX® 中,其命令行环境(当时的唯一用户界面)包含着数十种小的文本处理工具。这些工具非常小,通常可很好地完成一项工作。这些工具通过较长的命令管道链接在一起,前面的程序将其输出传递给下一个程序以作为输入,整个过程由各种命令行选项和参数加以控制。 正是 UNIX 的这方面的特征使其成为了极为强大的处理基于本文的数据的环境,而这也是其在公司环境中的最初用途之一。在命令管道的一端输入转载 2017-08-31 17:28:32 · 211 阅读 · 0 评论 -
S_ISDIR(stat.sb_mode)函数功能
一般在之前都会先调用函数stat( FileName, &fp),意味着将FileName这个文件的信息保存到了地址fp中。此时fp.st_mode就是文件FileName的模式,所以S_ISDIR(fp.st_mode)的函数功能是判断fp所指向文件(也就是FileName)是否为目录(dir)类型。原创 2017-09-08 09:41:34 · 4385 阅读 · 1 评论 -
C语言 数组行列数获取
两种方法 1. 在定义数组的时候已经定义好数组的行数和列数。 2. 动态获取。 对于type array[A][B];形式的二维数组,可以通过计算sizeof获取行列数。 sizeof(array[0][0])为一个元素占用的空间, sizeof(array[0])为一行元素占用的空间, sizeof(array)为整个数组占用的空间, 于是: 行数 = sizeof(array转载 2017-08-17 11:10:47 · 5780 阅读 · 0 评论 -
C语言操作MySql
c语言操作Mysql数据库,主要就是为了实现对数据库的增、删、改、查等操作,操作之前,得先连接数据库啊,而连接数据库主要有两种方法。一、使用mysql本身提供的API,在mysql的安装目录中可可以看到大量的头文件、lib文件、dll文件,这说明mysql原生就支持了c语言,操作起来相当简单。二、使用win32 api(这里只探讨windows平台),主要是ODBC。 ODBC API 接口是(O原创 2018-01-05 18:55:31 · 327 阅读 · 0 评论