- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 函数的几种返回方式
//正常返回string(*fun1(string(&str)[10]));//返回对象为string类型的引用,这个引用绑定了含有10个元素的string类型数组,并对这个返回对象使用解引用//别名返回typedef string str[10];//str是一个别名,他表示含有10个string类型的数组str &fun2(string);//返回对象为含有10个string类型数组的引用//尾置返回:auto fun3(string str)->string(&a
2021-11-19 17:30:00 1939
原创 vector iterators incompatible
先来看这个示例:#include<iostream>#include<string>#include<vector>using namespace std;int main() { string words; vector<string>str; vector<string>::iterator it = str.begin();//注意 此处伏笔 while (cin >> words) { str.push
2021-11-17 20:25:03 964 2
原创 C++实现括号匹配
#include<stdio.h>#include<stdlib.h>#define MaxSize 10struct Sqstack{ int data[MaxSize]; int top=-1;};bool Push(Sqstack& S,char x) { //入栈操作 if (S.top > MaxSize) { //栈满 return false; } S.data[++S.top] = x; return tr
2021-11-08 15:05:51 475
原创 栈的基本操作
#include<stdio.h>#include<stdlib.h>#define MaxSize 10struct SqStack{ int data[MaxSize]; int top;};//初始化栈void InitStack(SqStack &S) { S.top = -1;}//进栈操作bool Push(SqStack& S, int x) { if (S.top == MaxSize - 1) { //栈满 re
2021-11-05 15:22:25 76
原创 队列基本操作
#include<stdio.h>#include<stdlib.h>#define Maxsize 10struct Squeue{ int data[Maxsize]; int front, rear;};void InitQueue(Squeue& Q) { Q.rear = Q.front;//初始化}bool QueueEmpty(Squeue& Q) { if (Q.front == Q.rear) { //判空操作 r
2021-11-05 15:21:46 54
原创 多种方法逆置单链表
#include<stdio.h>#include<stdlib.h>struct LNode{ int data; LNode* next;};//法一:摘掉头结点使用头插法LNode* ReverseList(LNode* L) { LNode* p = L->next; //工作指针 LNode* r = p->next; //找到后继 L->next = NULL; while (p!=NULL) { r = p->
2021-11-04 10:11:59 78
原创 双链表的相关操作
#include<stdio.h>#include<stdlib.h>struct DNode{ int data; DNode* next, * prior;};//双链表的初始化bool SetList(DNode*& L) { L = (DNode*)malloc(sizeof(DNode)); if (L == NULL) { return false; } L->prior = NULL; L->next = NULL;
2021-10-31 10:49:34 41
原创 单链表的相关操作
按位序插入(带头结点)#include<stdio.h>#include<stdlib.h>typedef struct LNode {//一个结点带一个数据域和一个指针 int data ; struct LNode *next;}LNode,*LinkList;//在第i个位置插入元素ebool ListInsert(LinkList& L, int i, int e) { if (i < 1) { return false; } LNo
2021-10-29 22:28:09 84
原创 顺序表的相关操作
顺序表的增删查#include<stdio.h>#include<stdlib.h>#define MaxSize 10 typedef struct { int data[MaxSize]; //静态定义数组 int length; //数组长度 }sqList;bool ListInsert(sqList& L, int i, int e) { //插入操作 if (i<1 || i>MaxSize) { r
2021-10-29 14:47:28 73
原创 删除指定元素
#include<stdio.h>#include<stdlib.h>#define Size 10struct List{ int *data1=data; int data[Size] = { 1,2,3,3,5,5,7,9,3 }; int length=sizeof(data)/sizeof(int);};int DeleElement(List& L,int Aim) { int len = L.length; int* ptr1 = L.
2021-10-25 19:39:29 151
原创 逆置顺序表
#include<stdio.h>#include<stdlib.h>#define MaxSize 8struct SeqList { int data[MaxSize] = { 1,2,3,4,5,6,7,8 }; int* data1=data;};//法1:void InvertedList1(SeqList& L) { int* ptr = L.data1; int j = 0; L.data1 = (int*)malloc(sizeof(i
2021-10-25 19:05:09 169
原创 顺序表的插入删除和查找
#include<stdio.h>#include<stdlib.h>#define MaxSize 10 typedef struct { int data[MaxSize]; //静态定义数组 int length; //数组长度 }sqList;bool ListInsert(sqList& L, int i, int e) { //插入操作 if (i<1 || i>MaxSize) { return fa
2021-10-23 16:50:12 110
原创 浮点数的表示
**浮点数的表示复习了王道的计组部分的知识 现在整理一下从科学技术法理解浮点数:首先知道浮点数的格式:一个正数 例如+302657264526 用科学计数法表示是3.02610^11 其中11是指数 10是底数那么我们将其写为 +11 +3.026那么这个+11在浮点数中称为阶码 其中的+号 对应阶码中的阶符,那么11便是阶码中的数值部分+3.026便是浮点数中尾数 +号对应的是数符,3.026便是尾数中的数值部分阶码(常用补码或移码表示的定点整数)反映了数值的大小而尾数反映了数值的精度
2021-09-14 19:23:12 1573
原创 无法解析的外部符号main
今天在写程序的时候遇到个问题:然后就去看了相应的解决方法 发现都不管用:1.不是文件名.c或.cpp的问题2.不是没有包含相应头文件的问题3.不是写的控制台程序而使用的Windows连接程序(Winmain)最后发现是因为在刚开始打开项目的时候点为了打开文件夹而后在其中创建了一个CPP文件,写好代码后发现右侧目录不对后又重新以打开项目的方式打开,然后进行编译,就出现了上述错误。于是我又在项目下重新创了一个新的CPP文件再写入刚才的代码就能编译了...
2021-08-29 16:29:35 4736 1
原创 C语言求两个正整数的最大公约数和最小公倍数
#include<stdio.h>int Commonmin(int m, int n);int Commonmax(int m, int n);int main() { int m, n,r1,r2; printf("Please enter two numbers:"); scanf_s("%d%d", &m, &n); r1=Commonmax(m, n); r2=Commonmin(m, n); printf("The greatest common d
2021-02-24 18:16:26 2195
原创 C++基础问题总结
C++基础所遇问题总结#变量初始化这个可谓是我在整个过程中犯的最多的错误了,所以将其写到了第一条,声明一个变量以后如若要使用其参与运算一定要对其进行初始化(尤其是for循环语句的表达式内,如for(int i=0;i<20;i++))。否则会出现错误:使用了未初始化的变量;#关于i++与++ii++:先赋值后加;(不可做左值)++i:先加后赋值;(可做左值)这样说起来可能比较抽象,可以简单的理解为,i++是先把手中的事做了,自己再+1,而++i是先自己+1之后,再去完成该做的事。举个简
2020-07-16 16:48:50 283
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人