C\C++语法
C以及C++的基本语法学习笔记
是一只派大鑫
知识改变命运,技术成就人生
展开
-
《数据结构C语言版》——树、森林与二叉树的转换(超详图解)
树、森林与二叉树之间的相互转换(详细图解)原创 2022-07-02 14:04:28 · 11717 阅读 · 25 评论 -
《数据结构C语言版》——二叉树详解(图文并茂)
C语言版本的数据结构详解,讲解树、二叉树及其对应的定义、建立、性质原创 2022-05-20 08:14:41 · 17305 阅读 · 85 评论 -
《数据结构C语言版》——串(字符串、字符数组)详解
串或称字符串,是我们常见常用的数据结构,本文带你从零开始学习串的相关知识~~~原创 2022-05-16 12:34:45 · 1570 阅读 · 34 评论 -
《数据结构C语言版》——栈和队列详解(图文并茂),从零开始的学习
一文搞懂数据结构系列之栈和队列部分,从0基础到快速手敲数据结构,小白也能轻松看懂的宝典!原创 2022-04-20 08:29:41 · 4722 阅读 · 44 评论 -
《数据结构C语言版》——线性表详解,你一定能够看得懂学得会的宝典
一文搞懂数据结构系列之线性表部分,从0基础到快速手敲数据结构,小白也能轻松看懂的宝典!原创 2022-04-04 10:44:37 · 2898 阅读 · 29 评论 -
爱心的浪漫永不过时—程序猿的小浪漫
一束花的浪漫永不过时,爱心的浪漫同样也不过时——程序猿的小浪漫,教你如何用程序表达爱原创 2022-01-20 10:38:35 · 5162 阅读 · 0 评论 -
BWT前缀树的编码与解码
压缩技术主要的工作方式就是找到重复的模式,进行紧密的编码。原创 2021-12-21 14:01:22 · 1330 阅读 · 5 评论 -
C++优先队列priority_queue详解
priority_queue也是在写算法中很厉害且常用的一种数据结构,本文详细介绍了C++ STL中的使用方法~原创 2021-12-14 13:29:44 · 7135 阅读 · 2 评论 -
C++中 二维可变长数组,vector维度的获取
vector<vector<int>> 对于一些新手来说,很不友好,这里讲解一下如何获取二维可变长数组的维度原创 2021-12-09 15:56:16 · 3715 阅读 · 0 评论 -
C++ pair使用案例(一)
在写算法中,如果不想使用结构体,但是例如BFS这样的算法会用到存储一对的情况,我们可以考虑用pair原创 2021-12-05 13:41:37 · 2757 阅读 · 0 评论 -
浅谈动态规划和分治、贪心算法的区别
一个问题必须拥有重叠子问题和最优子结构,才能使用动态规划去解决。原创 2021-11-24 14:19:41 · 2651 阅读 · 0 评论 -
浅谈BFS模板思路(一)
来讲一下广度优先搜索BFS对应的题目里的使用模板,以及详细的解题思路过程,并给出一道经典案例来进行补充说明,最后给出解题代码收尾,相信你读完之后一定会有收获的!原创 2021-11-13 15:34:18 · 2924 阅读 · 0 评论 -
求最大公约数和最小公倍数简洁写法的注意事项
求最大公约数和最小公倍数 最简洁的写法就是一行递归的写法原创 2021-11-06 13:22:23 · 4444 阅读 · 0 评论 -
算法笔记之——快速幂
今天来讲一下非常容易懂且很强的一个算法——快速幂原创 2021-11-05 14:12:03 · 5904 阅读 · 1 评论 -
C++ STL pair方法详解
最近刷题的过程中,特别是BFS的题,看到了比较好的一个方法我平时在写BFS的时候,是通过建立一个结构体,然后将队列的类型保存为结构体类型后来看解题过程,发现了一个很方便的小技巧原创 2021-10-28 15:33:37 · 5443 阅读 · 0 评论 -
C/C++排序算法(6)堆排序
常见排序算法总结(6)堆排序一篇文章,带你搞懂 堆排序(注:代码语言的选择不应该限制了我们对算法的理解)文章附有动图!一看就懂!温馨提示:代码在文章末尾原创 2021-10-21 15:52:39 · 8419 阅读 · 1 评论 -
C/C++排序算法(5)归并排序
常见排序算法总结(5)归并排序一篇文章,带你搞懂归并排序 (注:代码语言的选择不应该限制了我们对算法的理解)文章附有动图!一看就懂!温馨提示:代码在文章末尾原创 2021-10-21 15:12:37 · 7529 阅读 · 0 评论 -
C语言逻辑填空题——审问嫌疑犯
这是一道填空题,题目选自 中国海洋大学2017年硕士研究生入学考试试题题目描述:公安人员审问四名窃贼嫌疑犯。已知,这四人当中仅有一名是窃贼,还知道这四人中每人说话要么全是真的,要么全是假的。在回答公安人员的问题中:甲说:“乙没有偷,是丁偷的。”乙说:“我没有偷,是丙偷的。”丙说:“甲没有偷,是乙偷的。”丁说:“我没有偷。”请根据这四人的答话编程判断谁是盗窃者。仔细阅读下面的程序并补充完整。#include<stdio.h>int main(){原创 2021-10-18 16:27:47 · 13856 阅读 · 2 评论 -
C语言文件操作——输入数据存到文件,从文件读取到结构体
早年真题试卷最后大题几乎都是手写文件的一些操作程序,虽然文件操作并不难,但是真正手写出来感觉又是很不一样的。原创 2021-10-15 14:37:23 · 23241 阅读 · 2 评论 -
C++ STL map集合的使用
有时需要根据索引找到对应的元素,像键值对一样的查找,并对这些元素进行操作。可以同故宫调用STL里面的map来解决这个问题。原创 2021-09-30 14:34:22 · 12945 阅读 · 0 评论 -
C++ STL set集合的使用
一些涉及到集合的算法题目,可以考虑使用STL里的set来很方便地解决问题。原创 2021-09-30 14:02:39 · 13450 阅读 · 2 评论 -
C语言 指针+二维数组详解 (应付期末、考研的最强笔记,建议收藏)
本文通过从二维数组的介绍开始,讲解什么是二维数组——>怎么定义和使用二维数组——>怎么引用二维数组的元素——>怎么通过指针来引用二维数组(具体包括多种分式)来逐步说明指针+二维数组的配合使用,相信学完本文内容,读者对于指针和二维数组会有更加深刻的印象和理解。通过学校期末考试和考研C语言内容完全足够!!!原创 2021-09-03 16:56:22 · 41900 阅读 · 42 评论 -
C/C++ list链表的理解以及使用
哈喽!这里是一只派大鑫,不是派大星。本着基础不牢,地动山摇的学习态度,从基础的C语言语法讲到算法再到更高级的语法及框架的学习。更好地让同样热爱编程(或是应付期末考试 狗头.jpg)的大家能够在学习阶段找到好的方法、路线,让天下没有难学的程序(只有秃头的程序员 2333),学会程序和算法,走遍天下都不怕!今天我们来一起深入学习一下非常重要以及基础的数据结构——链表(list)链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(...原创 2021-09-01 16:33:09 · 19223 阅读 · 1 评论 -
C/C++ queue队列的理解以及使用
今天我们来一起深入学习一下非常重要以及基础的数据结构——队列(queue)队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。原创 2021-08-31 14:22:22 · 23512 阅读 · 2 评论 -
C/C++ stack栈的理解以及使用
今天我们来一起深入学习一下非常重要以及基础的数据结构——栈(stack)栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。原创 2021-08-30 15:55:18 · 19539 阅读 · 1 评论 -
C++可变长数组vector的使用
最近在刷算法,C++里自带的一些容器、函数真是非常简便了。下面介绍一种可变长的数组,和数组类似,但比数组更强大更方便~~~原创 2021-08-30 14:51:17 · 17018 阅读 · 0 评论 -
C++ STL里的排序去重函数 超级方便
C++ STL里的排序去重函数 超级方便STL大法好啊!接下来介绍一个很厉害的STL库函数原创 2021-08-20 14:51:25 · 22284 阅读 · 0 评论 -
C/C++排序算法(4)快速排序
常见排序算法总结(4)快速排序一篇文章,带你搞懂快速排序(注:代码语言的选择不应该限制了我们对算法的理解)文章附有动图!一看就懂!快速排序算法通过多次比较和交换来实现排序,其排序流程如下:(1)首先设定一个分界值(也就是基准),通过该分界值将数组分成左右两部分。(2)将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于或等于分界值,而右边部分中各元素都大于或等于分界值。(3)然后,左边和右边的数据可以独立排序。对于左侧的数组数据,又原创 2021-07-28 17:24:44 · 29470 阅读 · 0 评论 -
C/C++分治算法(1)——二分查找
常见分治算法总结(1)二分查找一篇文章,带你搞懂 二分查找(注:代码语言的选择不应该限制了我们对算法的理解)文章附有动图!一看就懂!原创 2021-07-28 16:23:36 · 32663 阅读 · 1 评论 -
C/C++经典算法——约瑟夫问题
C/C++经典算法——约瑟夫问题什么是约瑟夫问题一行代码解决约瑟夫问题!!!转载 2021-07-26 14:41:33 · 115093 阅读 · 26 评论 -
C/C++排序算法(3)冒泡排序
常见排序算法总结(3)冒泡排序一篇文章,带你搞懂冒泡排序(注:代码语言的选择不应该限制了我们对算法的理解)文章附有动图!一看就懂!原创 2021-07-25 17:10:00 · 29664 阅读 · 0 评论 -
C/C++排序算法(2)希尔排序
常见排序算法总结(2)希尔排序一篇文章,带你搞懂希尔排序(注:代码语言的选择不应该限制了我们对算法的理解)原创 2021-07-25 16:46:35 · 29730 阅读 · 0 评论 -
C/C++排序算法(1)直接插入排序
思想就是,从第二个数开始(下标为0的已经默认排序了),依次跟前面的数比较,直到当前比较数据更小,就放在这个数据的后面。(别担心不能放入,因为每次比较就把位置向后挪了一位!)原创 2021-07-22 18:51:41 · 28718 阅读 · 0 评论 -
C语言课后习题(69)
谭浩强C语言第五版的一些课后习题第十章 第十一题从键盘输入若干行字符,存到磁盘文件,读入数据,将其中的小写转大写int main(){ int i; FILE *fp; char str[100],c; //1. 打开文件 if((fp=fopen("f:\\A.txt","w"))==NULL){ printf("can not open A.txt\n"); } //2. 写入数据 printf("输入数据 以!结束:\n"); int flag=1; whi原创 2021-07-15 07:23:03 · 38516 阅读 · 0 评论 -
C语言课后习题(68)
谭浩强C语言第五版的一些课后习题第十章 第四题合并A B文件信息 并安字母顺序排序,输出到C文件int main(){ char str1[20],str2[20]; FILE *p1,*p2,*p3; int i=0; // 1 写入 printf("输入字符串1:\n"); scanf("%s",str1); if((p1=fopen("f:\\A.txt","w"))==NULL){ printf("can not open A.txt原创 2021-07-15 07:21:57 · 38163 阅读 · 0 评论 -
C语言课后习题(67)
谭浩强C语言第五版的一些课后习题第十章 第三题输入字符串,将小写转为大写,输出到一个文件,以!结束实现:输入后将小写转大写了再存到文件中int main(){ FILE *fp; char str[100]; int i=0; if((fp=fopen("f:\\test100.txt","w"))==NULL){ printf("can not open file\n"); } printf("输入字符串\n"); gets(str); while(str[i]!原创 2021-07-15 07:20:44 · 37841 阅读 · 0 评论 -
C语言课后习题(66)
谭浩强C语言第五版的一些课后习题第九章 第三题编写print,输出成绩数组,包括num,name,score【3】struct Student{ char num[6]; char name[10]; int score[3];}std[N];int main(){ void print(struct Student std[5]); int i,j; for(i=0;i<N;i++){ printf("输入第%d个学生记录:\n",i+1); printf(原创 2021-07-15 07:19:02 · 39699 阅读 · 7 评论 -
C语言课后习题(65)
谭浩强C语言第五版的一些课后习题第九章 第一题定义一个结构体变量 年月日 计算改日在本年是第几天struct{ int year; int month; int day;}date;int main(){ int i,days; int d[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; printf("输入年 月 日\n"); scanf("%d%d%d",&date.year,&date.month,&da原创 2021-07-15 07:18:03 · 38362 阅读 · 0 评论 -
C语言课后习题(64)
谭浩强C语言第五版的一些课后习题第八章 第十六题输入一个字符串,含有数字和非数字,将连续的数字作为一个整数存放到数组中,并统计有多少个整数,然后输出int main(){ char str[50],*p; printf("输入字符串\n"); gets(str); p=str; int i=0,j=0,k,e10; //j记录位数个数 k记录当前位数 e10为当前数字需要乘的10的倍数 int dig;//dig 保存字符转为的数字 int a[10],*pp=a;/原创 2021-07-15 07:16:53 · 39713 阅读 · 0 评论 -
C语言课后习题(63)
谭浩强C语言第五版的一些课后习题第八章 第十四题n个数逆序排列 然后输出int main(){ void print(int *p,int n); void sort(int *p,int n); int i,n; printf("想要几个数?\n"); scanf("%d",&n); int num[20]; int *p; printf("输入%d个数:\n",n); for(i=0;i<n;i++){ scanf("%d",&num[i])原创 2021-07-15 07:15:40 · 37707 阅读 · 0 评论