c艹
不吃企鹅的海豹
技术史
展开
-
链表实现队队列(初始化,创建,删除)
链表实现队队列(初始化,创建,删除)***备注:在调用函数时一定要注意函数的形参和main函数中的实参是赋值关系,如果在调用的函数中使用new或者是malloc函数开辟空间时要注意其地址给了哪个变量。如果调用函数传入的是指针,那么在生成空间后要将地址传给main的实参,别传给调用函数的形参。如果想直接控制main里的指针,最好还是使用二级指针进行调用函数传值,以保证能准确找到main实参的内存地址。&&&直接上菜--------------------------->:#原创 2022-05-22 18:32:45 · 214 阅读 · 0 评论 -
无头结点的链栈
无头结点的链栈说明:写一个无头结点的链栈。设计思路是,先声明一个结点类型指针,然后进栈时判断结点指针是否为空,不为空则使用头插法入栈,否则为空指针开辟一片空间再赋值。这里面涉及到了空指针的传递,在c中空指针是不能够直接传参的(具体问题涉及到底层堆栈的原理,这里只讲解决方法)。所以我们使用二级指针进行传参,因为二级指针保存的是一级指针的地址,虽然一级指针为空,但是传递二级指针的变量时,其内部是一个地址。所以二级指针传递可以有效的避免空指针传递产生的内存读取冲突问题。#include <stdio.h原创 2022-05-18 09:58:34 · 543 阅读 · 0 评论 -
二叉树的创建方法,使用递归函数创建。
二叉树的创建方法,使用递归函数创建。本文讲解使用递归函数的方法创建二叉树的两种不同代码。1.使用二级指针创建。2.使用一级指针创建。注:不管使用哪种方法,一定要注意函数的递归借口问题。#include <stdio.h>#include <iostream>using namespace std;#define maxsize 50struct bi_tree { char data; bi_tree* left, * right;};//不使用二级指针创建原创 2022-05-17 11:18:59 · 641 阅读 · 0 评论 -
c++顺序栈(只用引用不用指针)
c++顺序栈(只用引用不用指针)顺序栈重点学会判空,判满,取长,初始化栈,进栈操作,出栈操作。注意代码的bool关系要对应。#include <stdio.h>#include <iostream>using namespace std;#define maxsize 5struct sqstack { int data[maxsize]; int top;};//判空,不空为true,空为falsebool empty_stack(sqstack &q原创 2022-05-13 10:56:59 · 273 阅读 · 3 评论 -
初始化循环队列、添加元素、打印循环队列
初始化循环队列、添加元素、打印循环队列学习队列重要的是理解如何判空、如何判断队满以及如何得出循环队列的元素个数。还应该知道为什么11个元素容量的循环队列一般只放10个元素。这些如果能够理解了,增删改查就都明白了。请看代码,我已将重要的东西注释出来了哦!!!!#include <stdio.h>#include <iostream>#define maxsize 10using namespace std;//利用受限顺序表来表示队列typedef struct queu原创 2022-05-11 22:12:38 · 1589 阅读 · 0 评论 -
c语言模拟字符串拼接
include <stdio.h>include <iostream>using namespace std;void my_strcat(char *p,char *q) { while (*p) { //找到\0 p++; } *p = *q; //移动第一个值 while (*p) { //开始循环赋值,先赋值后判断。 q++; p++; *p = *q; } return;}int main() { char arr原创 2022-05-02 10:28:17 · 796 阅读 · 0 评论 -
char字符串中生成/0的代码写法问题
我整理了三种字符串生成/0的问题1.直接双引号一串字符丢给未定义元素个数的字符数组。2.单个字符分别丢给未定义元素个数的字符数组。3.一个元素存入长度给定的字符数组。请看代码》》》》》》》》》》》》》》》》》》》》》》》#include <stdio.h>#include <iostream>#include <string>using namespace std;int main() { char arr1[] = {"aoligei"};//这种的原创 2022-05-01 11:03:43 · 524 阅读 · 1 评论 -
模拟qsort函数的冒泡排序函数
模拟qsort()手写冒泡排序这个函数的关键在于将对比转换功能外置,读者可通过外置构建函数,进而操控排序的顺序。巧妙地运用了回调函数机制。通过将数据转为char类型,从而可以实现内存的按位操作。非常的妙啊。难点:1.正确的找到冒泡排序循环下标与对应元素指针的关系。2.为了内存上的操作,用到char类型转换。此处以指针的方法进行转换。3.主排序函数将传入接口设计为->以单个元素所占空间、全部元素个数、头指针、外置正反调节函数。#include <stdio.h>#includ原创 2022-04-30 14:57:05 · 420 阅读 · 0 评论 -
c++写入txt文件和Excel表格方法
#include <iostream>#include <fstream>using namespace std;/*int main() { char a[10] = { "absssl" }; ofstream out("nianxinbaiwan.txt",ios::app);//ios::app: //以追加的方式打开文件//ios::ate: //文件打开后定位到文件尾,ios:app就包含有此属性//ios::binary: //以二进制方式原创 2022-04-27 21:44:12 · 2125 阅读 · 0 评论 -
泡泡排序之最高复杂度
// A code block#include <stdio.h>#include <iostream>#include <string>#define MaxSize 10using namespace std;void paopao(int (*p)[MaxSize],int l) { for (int i = 0; i < l; i++) { for (int j = i + 1; (j < l); j++) { if ((*p原创 2022-04-27 15:15:26 · 80 阅读 · 0 评论 -
数组/指针/函数 之 排列组合
数组—指针数组—函数指针—函数指针数组说明:本文为我的记忆结构,要先理解每个关键词的意义,才能看懂我的文章。我将其按照结构分为两种即 1.指针 2.数组数组普通数组指针数组数组指针的数组函数指针数组指针普通指针普通二级指针数组指针数组二级指针指针数组的指针指针数组的二级指针函数指针函数指针的二级指针函数指针数组的指针函数指针数组的指针的二级指针** 函数指针和数组的指针的声明是有规律的,a[10]=*(a+10)学懂这部分内容还需要指针原创 2022-04-27 07:03:29 · 101 阅读 · 0 评论