C
2021乐乐
交流学习
展开
-
C 语言编译执行的过程
之前一直只知道运行C语言,GCC G++ 等 ,但是对C语言编译执行的过程并不了解。 第一步:预处理每一个C语言的开头都有头文件 : #include<stdio.h> ,或者 其他的。 需要将它进行预处理, 得到预处理用于将所有的#include头文件以及宏定义替换成其真正的内容,预处理之后得到的仍 然是文本文件,但文件体积会大很多。第二步: 编译这里的编译不是指程序从源文件到二进制程序的全部过程,而是指将经过预处理之后的程序转换成特定汇编代码...转载 2021-08-28 16:29:58 · 1171 阅读 · 0 评论 -
C 语言十进制和十六进制的转换
设计字符串的拂去,字符串的遍历,还有ASCii 码。十进制和十六进制转换的相关知识。1: 十六进制转化为10 进制#include<stdio.h>#include<string.h>#include<math.h>/* 返回ch字符在sign数组中的序号 */int getIndexOfSigns(char ch);int main(){ printf("Input a string: "); char str2[30] = {0原创 2020-06-06 23:14:31 · 2439 阅读 · 0 评论 -
剑指offer 刷题 1 (03:数组中重复的数字)
1:指针基本知识*a=&b : 表示指针a 代表b 的地址,*a 则表示b的数值;*&a=25表示将a的值赋值为25原创 2020-06-04 09:33:28 · 2105 阅读 · 0 评论 -
C 语言遍历数组的两种形式
方式1: 按照下标赋值: int array[10],a; for(a=0;a<10;a++){ array[a]=0; }方式2: 按照指针的形式赋值:int array[10],*ap;for(ap=array;ap<array+10;ap++){ *ap=0;}...原创 2019-11-23 22:35:18 · 949 阅读 · 0 评论 -
TCP/IP 协议汇总
一篇文章带你熟悉 TCP/IP 协议(网络协议篇二)一篇文章带你详解 HTTP 协议(网络协议篇一)成为高手前必懂的TCP干货HTTP 协议规定,请求从客户端发出,最后服务器端响应该请求并返回。换句话说,肯定是先从客户端开始建立通信的,服务器端在没有接收到请求之前不会发送响应。TCP/IP 中有两个具有代表性的传输层协议,TCP 主要包含分别是 TCP 和 UDP。...转载 2019-08-21 21:08:42 · 188 阅读 · 0 评论 -
26. 删除排序数组中的重复项
示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。你不需要考虑数组中超出新...转载 2019-08-10 11:33:17 · 75 阅读 · 0 评论 -
22. 括号生成
总结:用相同的方法是有两种情况,一种是地柜, 一种是循环。#include<vector>#include<iostream>#include<string>using namespace std;class Solution{public: void helper(int left,int right,string tmp,vecto...转载 2019-08-10 10:34:28 · 68 阅读 · 0 评论 -
letecode20. 有效的括号
#include<map>#include<iostream>#include<cstdlib>#include<stack>using namespace std;class Solution{public: bool isValid(string s){ cout<<s.length(); ...原创 2019-08-07 17:31:23 · 116 阅读 · 0 评论 -
C++ 字符串的基本操作
1》字符串的创建和遍历#include <iostream>#include "string"using namespace std;//字符串初始化void strInit(){ cout << "字符串初始化:" <<endl; string s1 = "abcdefg"; //初始化方式1 string s2("abcdefg")...转载 2019-08-07 16:38:00 · 207 阅读 · 0 评论 -
C 队列
#include<stdlib.h>#include<stdio.h>//#include<malloc.h>typedef struct Node{ int element; struct Node *next;}node,*pNode;typedef struct Qnode{ pNode Front ,Rear;}Queue,*PQue...原创 2019-08-07 16:01:35 · 124 阅读 · 0 评论 -
letecode 18. 四数之和
class Solution {public: vector<vector<int>> fourSum(vector<int>& nums, int target) { if(nums.size()<4) return {}; sort(nums.begin(),nums.end()); ...原创 2019-08-07 11:21:40 · 133 阅读 · 0 评论 -
组合总数
给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复的组合。示例1:输入: candidates = [2,3,6,7], target = 7,所求解集为:...转载 2019-08-13 22:08:17 · 101 阅读 · 0 评论 -
28.实现strStr()
本题目实质是: 字符串匹配算法。#include<map>#include<iostream>#include<cstdlib>#include<stack>#include<vector>#include<string>using namespace std;class Solution {publi...原创 2019-08-10 12:24:09 · 81 阅读 · 0 评论 -
C++ stack 遍历
C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。操作 比较和分配堆栈 empty() 堆栈为空则返回真 pop() 移除栈顶元素 push() 在栈顶增加元素 size() 返回栈中元素数目 top() 返回栈顶元素 Lists将元素按顺序储存在链表中....转载 2019-08-15 17:09:07 · 15971 阅读 · 1 评论 -
739. 每日温度
根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用0 来代替。例如,给定一个列表temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是[1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是[1, 30000]。每个...原创 2019-08-16 09:24:41 · 95 阅读 · 0 评论 -
621任务调度器
给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。然而,两个相同种类的任务之间必须有长度为n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。...转载 2019-08-16 10:15:57 · 100 阅读 · 0 评论 -
C++全排列 和组合
全排列的写法:先确定第一个元素,后面的元素逐渐交换。#include <iostream>using namespace std;void Perm(int start, int end, int a[]){ //得到全排列的一种情况,输出结果 if (start == end){ for (int i = 0; i < end; i+...原创 2019-08-13 11:16:15 · 834 阅读 · 0 评论 -
C 语言面试题目
1: 面向对象和面向过程的区别 面向过程的代码 短小,但是重复利用率不高,不适用于模块化编程 面向 对象的过程中,会建立对象的属性和行为。 面向对象的过程中 ,代码的修改成本比较高,我们。 大型工程的时候,肯定要利用面向对象编程的特点。 面向对象编程的三大特点,封装,继承,多态。 面向对象是一种思想,...原创 2019-09-10 15:45:11 · 156 阅读 · 0 评论 -
二叉树
本文的二叉树有两个版本,一部分是C语言版本第二部分是python 版本。转载:《算法导论笔记》——十分钟带你了解二叉搜索树(BST)!C Binary Tree with an Example C Code (Search, Delete, Insert Nodes)C语言实现二叉树#include<stdlib.h>#include<stdio.h&g...转载 2019-03-16 18:23:44 · 179 阅读 · 0 评论 -
C 语言字符串的基本操作
1: 数组定义字符串 char str1[50]="aabacgaabgcaab"; char str2[12]="aab"; char str3[12]="";char *message = "Hello World!";// 上面的语句也可以拆分成下面两句char *message;message = "Hello World!"; ...原创 2019-09-25 15:57:01 · 305 阅读 · 0 评论 -
朴素字符串匹配算法
最简单的字符串匹配方法,传说中的在特殊情况的暴力求解:伪代码:naive_string_matcher(t,p): n=len(t) m=len(p) for s =0 to n-m: if p[1..m]==t[s+1..s+m]: print("success!") 具体的代码:str1 = 'a...原创 2018-11-23 10:29:48 · 402 阅读 · 0 评论 -
39. 组合总和
回溯法#include<vector>#include<algorithm>#include<iostream>#include<map>#include<set>#include<iterator>using namespace std;map<int,set<vector<int&g...转载 2019-08-13 22:05:57 · 74 阅读 · 0 评论 -
46. 全排列(letecode)
#include<vector>#include<algorithm>#include<iostream>using namespace std;class Solution {public: vector<vector<int>> permute(vector<int>& nums){ ...原创 2019-08-13 16:24:18 · 138 阅读 · 0 评论 -
C++ 学习 语法(1)
1:c++ 如何声明一个类class 类名{ private: // 私有成员属性,私有成员函数的方法,不能在类外直接访问 protected: // 保护成员属性,保护成员函数的方法,不能在类外直接访问 public: // 公有成员属性,公有成员方法,能在类外直接访问。 // 用一对花括号括起来 的部分是类体,类声明是以分号结束 }...原创 2019-06-29 15:20:22 · 185 阅读 · 0 评论 -
C++ 去除数组中的相同元素
#include <iostream>using namespace std;int main(){ int a[]={1,2,3,4,5,6,7,8,9,4,32,1},n; n=sizeof(a)/sizeof(a[0]); cout<<sizeof(a)/sizeof(a[0])<<endl;// 查看数组的长度...原创 2019-05-19 20:22:15 · 4234 阅读 · 0 评论 -
C++ 斐波列函数
#include <iostream>using namespace std; int fab(int i){ if (i==0) return 1; else if(i==1) return 2; else{ return fab(i-1)+fab(i-2); }}int main(){ ...原创 2019-05-19 20:04:35 · 327 阅读 · 0 评论 -
C++ 小程序
#include<iostream>using namespace std;void swap1(int &a,int &b);void swap2(int *p,int *q);void swap3(int a,int b);int main(){ int m=2,n=3; cout<<m<<" "<<n<...转载 2019-03-15 10:30:15 · 1066 阅读 · 0 评论 -
C 语言 字符串替换 暴力求解
#include<iostream>#include<stdio.h>using namespace std;int main(){ int index=0; cout<<"Hello world!" << endl; char str2[300]={}; char str1[30] = "http://c....原创 2018-12-04 19:09:27 · 284 阅读 · 0 评论 -
python和C数组元素的删除和增加
c 语言版本:https://blog.csdn.net/zzwtyds/article/details/77299871python 版本:>>> a=[1,2,3,4,5]>>> a[1, 2, 3, 4, 5]>>> a.insert(2,'g')>>> a[1, 2, 'g', 3, 4, 5]&...原创 2018-11-23 15:36:03 · 117 阅读 · 0 评论 -
C语言 sizeof 、strlen
直接看代码:#include <string.h>#include<stdio.h>#include<stdlib.h>int main(){ char str[20] = "0123456789";int a = strlen(str); //*a = 10*,指的是长度 / int b = sizeof(str);//*b = 20*,...转载 2018-11-22 10:28:36 · 85 阅读 · 0 评论 -
栈
栈:一种存储结构,FILO原则(先进后出)栈有几种基本操作,栈的初始化,判断栈是否存在,栈的增加元素,栈的删除元素,栈的遍历,栈的遍历,最后是栈的摧毁。#include<stdio.h>#include<stdlib.h>#define stack_size 100#define stack_increase_size 10typedef struct ...原创 2018-11-23 21:27:52 · 343 阅读 · 0 评论 -
malloc ,free, realloc 和calloc
这四个函数都在#include<stdlib.h>里面声明。1.malloc形式:void *malloc(size_t size);说明:malloc 分配的内存是连续的存储块,而不是分开的。系统无法想向malloc提供更多的内存,malloc就返回一个NULL指针。2.free形式: void free(void *pointer);说明:free的参数要...转载 2018-11-21 15:26:02 · 265 阅读 · 0 评论 -
c++ 学习语法(2)
C++ 类中,私有成员的信息,一般不能在类外直接访问,那应该如何修改private中的信息呢。为了实现对私有变量的读取和修改,在很多类中都提供了存取变量的set和get 函数,一般定义在public 函数下。在修改过程中应该注意一个原则:类的封装原则:修改私有成员,一定要通过公有函数进行。这里提供最简单的demo版本的set 和get 函数: void setID(int ...转载 2019-06-29 16:29:03 · 138 阅读 · 0 评论 -
c++ 语法学习(3) 构造函数和析构函数
初始化是程序员不可避免的问题,对于C++ 程序员 ,有专门的函数用来处理:构造函数和解析函数。一:构造函数: 用于创建对象时初始化成员。构造函数是一个与类同名的特殊的公有函数。创建类时一定会用到构造函数,而且只会被调用一次。构造函数为对象数据成员开辟内存空间,还可以根据用户需要完成对象数据成员的初始化(1)默认构造函数Acount(){ID=0;strcpy(Name,"...转载 2019-06-29 17:19:41 · 179 阅读 · 0 评论 -
c++语法(4) 类的继承和多态
一:继承:继承:继承该类的属性和方法,则不需要自己再重写代码。继承不会继承析构函数和构造函数,因此也需要自己重写。c++ 类中的继承有三种形式,公有继承(public),私有继承(private),保护继承(protected).其中使用的最多的是public 公有继承。派生类的定义格式class 派生类:继承方式 基类1,...,继承方式 基类n{ 派生类增加的成员声...转载 2019-06-29 19:30:33 · 158 阅读 · 0 评论 -
17. letecode 电话号码数字的组合
题目描述;给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。思路核心,类似DFS 将每一条路径,走完class Solution {public: vector<string> letterCombinations(string digits) { v...转载 2019-08-05 15:11:40 · 147 阅读 · 0 评论 -
letecode 三数之和
letecode 15:#include<iostream>#include<vector>#include<algorithm>#include<string>#include<time.h>using namespace std;class Solution{public: vector<vecto...原创 2019-08-04 21:44:07 · 149 阅读 · 0 评论 -
c++ 之 '[ ]'
刷letecode 时候碰到一个题目的输入是["flower","flow","flight"],然后就懵逼呢,答案: c++ 里面的输入是{} ,没有[ ] .python 里面是[ ]原创 2019-08-04 10:14:42 · 91 阅读 · 0 评论 -
C++ substr
用途:一种构造string的方法1. 形式:s.substr(pos, n)2. 解释:返回一个string,包含s中从pos开始的n个字符的拷贝(pos的默认值是0,n的默认值是s.size() - pos,即不加参数会默认拷贝整个s)3. 补充:若pos的值超过了string的大小,则substr函数会抛出一个out_of_range异常;若pos+n的值超过了string的...转载 2019-08-04 09:48:01 · 89 阅读 · 0 评论 -
C++字符串string类常用操作详解(一)【初始化、遍历、连接】
#include <iostream>#include "string" using namespace std; //字符串初始化void strInit(){ cout << "字符串初始化:" <<endl; string s1 = "abcdefg"; //初始化方式1 string s2("abcdefg"); //初始化方...转载 2019-08-03 16:35:09 · 157 阅读 · 0 评论