C/C++基础
文章平均质量分 62
happy19991001
笨鸟先飞
展开
-
使用快慢指针判断链表中是否有环
使用快慢指针判断链表中是否有环思路:慢指针p1每次移动一个结点位置,快指针p2每次移动两个结点位置,若有环,快慢指针必相遇注意while判断语句为while( p1->next&&p2->next&&p2->next->next )若p2->next为空,将不再执行p2->next->next代码: struc...原创 2020-04-18 20:40:44 · 230 阅读 · 0 评论 -
无法使用头结点时的链表删除元素操作
无法使用头结点时的链表删除元素操作思路:将需删除结点的数据域和指针域的值赋为其后一个结点的数据域和指针域的值代码: struct ListNode { int val; struct ListNode *next; };void deleteNode(struct ListNode* node) { node->val=node->next->...原创 2020-04-17 11:23:14 · 157 阅读 · 0 评论 -
对标准输入中出现的某一个单词进行计数
对标准输入中出现的某一个单词进行计数要求:编写一个程序,对标准输入进行扫描,并对单词"the"出现的次数进行计数。进行比较时区分大小写。可认为各单词由一个或多个空格字符分隔,而且输入行在长度上不会超过100个字符思路:利用strtok函数从字符串中隔离出各单词(从一个字符数组中提取空白字符分隔的标记),第一次调用strtok函数时,第一个参数为缓冲区数组名,函数将找到第一个单词并保存其在字...原创 2020-03-20 20:21:15 · 372 阅读 · 0 评论 -
将数字字符串转换为美元形式
将数字字符串转换为美元形式要求:编写程序将一个数字字符串(代表以美分为单位的金额)转换为美元形式,如:函数原型为:void dollar( char *dest,char const *src );src指向需要被格式化的字符,格式化的结果保存在dest中。要求所创建的字符串以一个NUL字节结尾。src的值不能被修改。思路:由于当字符串长度小于3个字符时会出现需增添’0’的情况,应...原创 2020-03-20 22:32:35 · 638 阅读 · 0 评论 -
利用双指针翻转字符串
利用双指针翻转字符串目标:编写函数reverse_string,其原型为void reverse_string( char *string );函数把参数字符串中的字符反向排列。要求使用指针而不是数组下标,不能使用任何C函数库中用于操纵字符串的函数思路:使用双指针不断向字符串中间推进并进行字符交换,当两个指针相遇或擦肩而过时即停止代码:void reverse_string( cha...原创 2020-03-17 21:00:33 · 357 阅读 · 0 评论 -
利用位运算将整型值的二进制位模式从左到右变换
利用位运算将整型值的二进制位模式从左到右变换目标:编写函数unsigned int reverse_bits( unsigned int value );此函数的返回值是把value的二进制位模式从左到右变换一下的值。例如,在32位机器上,25这个值包括下列各位:00000000000000000000000000011001函数的返回值应为2550136832,它的二进制位模式为:...原创 2020-03-16 22:32:03 · 289 阅读 · 0 评论 -
C++中stack头文件的使用
本文链接:https://blog.csdn.net/weixin_45897672/article/details/103963270————————————————版权声明:本文为CSDN博主「violet_pang」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_45897672/...转载 2020-04-18 22:15:11 · 2411 阅读 · 0 评论 -
C++中的关联容器与无序关联容器
C++中的关联容器与无序关联容器目录C++中的关联容器与无序关联容器关联容器:set与multiset:map与multimap:无序关联容器:unordered_set、unordered_multiset、unordered_map、unordered_multimap:关联容器:关联容器将值与键关联在一起,并用键来查找值关联容器通常是使用某种树实现的STL提供了4中关联容器:set、multiset、map、multimap前两种在头文件< set >中定义,后两种在头文件&l原创 2020-05-11 16:25:43 · 477 阅读 · 0 评论 -
C++ new的用法
C++ new的用法转载于https://blog.csdn.net/weixin_41232202/article/details/96452228知识点小结:new其实就是告诉计算机开辟一段新的空间,但是和一般的声明不同的是,new开辟的空间在堆上,而一般声明的变量存放在栈上。通常来说,当在局部函数中new出一段新的空间,该段空间在局部函数调用结束后仍然能够使用,可以用来向主函数传递参数。另外需要注意的是,new的使用格式,new出来的是一段空间的首地址。所以一般需要用指针来存放这段地址。具体的代转载 2020-05-10 11:48:48 · 404 阅读 · 0 评论 -
C++把一个字符转换成string方法
C++把一个字符转换成string方法原网址:https://zhidao.baidu.com/question/492029810.html单个字符无法直接转换为string间接的方式有以下两种:1.先将字符写在字符数组中,再用字符数组赋值给string#include <iostream>#include <string>using namespace std;int main(){ char ch = 'x'; string s ;转载 2020-05-09 20:21:16 · 4332 阅读 · 0 评论 -
C++中substr的用法
C++中substr的用法转载于https://blog.csdn.net/mlm5678/article/details/90006706substr:substr有2种用法:假设:string s = “0123456789”;string sub1 = s.substr(5); //只有一个数字5表示从下标为5开始一直到结尾:sub1 = “56789”string sub2 = s.substr(5, 3); //从下标为5开始截取长度为3位:sub2 = “567”...转载 2020-05-08 21:39:17 · 2390 阅读 · 0 评论 -
C语言基础题:求一个数的所有因子和
C语言基础题:求一个数的所有因子和问题:七夕节那天,hx073269来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:“你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!” 人们纷纷来到告示前,都想知道谁才是自己的另一半.告示如下: 值此七夕佳节来临之际,为感谢广大群众对我hx073269的热爱,特此将大家的另一半的寻找方法公布如下:将你的编号(数字王国的每一个人都有自己的...原创 2020-05-02 17:16:35 · 12880 阅读 · 1 评论 -
C语言基础题:数学王子
C语言基础题:数学王子问题:思路:10^1000用 long long 都无法表示找规律后使用字符打印,而非使用计算解决该问题代码:#include<stdio.h>int main(){ int t; int n; int i; scanf( "%d\n",&t ); while( t-- ) { scanf( "%d",&n );...原创 2020-04-30 21:53:05 · 436 阅读 · 0 评论 -
二维数组动态分配存储空间及二维vector的初始化
二维数组动态分配存储空间设二维数组为ans[numRows][numRows]ans = (int **)malloc( numRows*sizeof(int *) );for ( i = 0; i < numRows; i++ ) ans[i] = (int *)malloc( numRows*sizeof(int) );...原创 2020-04-25 19:30:47 · 1652 阅读 · 0 评论 -
约瑟夫环问题
约瑟夫环问题问题:约瑟夫环问题递推公式:将约瑟夫环中的每个人看作数组的元素,f为幸存者的下标先考虑从编号为1的开始报数的情况,f为N,M的函数。设报到M的人出队,总人数为N递推公式为:推导过程:约瑟夫环问题的进行过程可看成数组的移动,以N=11,M=3为例:进行过程为:从上图可看出,约瑟夫环问题进行的过程为数组的循环移动,在每次删除元素的过程中,数组中的元素循环左移M位。从...原创 2020-04-14 09:45:34 · 262 阅读 · 0 评论