- 博客(21)
- 收藏
- 关注
原创 欧拉计划[C++]
02#include<iostream>using namespace std;int main(){ int first = 1, second = 2, temp = 0, sum = 2; while (temp < 4000000) { temp = first + second; if (temp % 2 == 0 &&temp < 4000000) { sum += temp; } first = second;
2021-11-12 11:00:49 636
原创 蓝桥杯练习系统[C++]
数学1084 用筛法求n以内的素数题目描述用筛法求之N内的素数。输入N输出0~N的素数样例输入复制100样例输出复制2357111317192329313741434753596167717379838997题目分析:筛法解释给定一列数组,假设是1~25:第一步列出2以后的所有序列:2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
2021-11-04 00:20:07 5324
原创 JZ9 用两个栈实现队列[C++]
题目:用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。代码:#include<iostream>#include<stack>using namespace std;class MyQueue{private: stack<int> s1; //入队 stack<int> s
2021-10-24 16:43:50 2413
原创 JZ76 删除链表中重复的结点[C++]
目录题目代码知识点题目在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5代码#include<iostream>#include<set>using namespace std;struct Node{ int data; Node* next;};Node* Cr.
2021-10-22 10:59:36 124
原创 JZ22 链表中倒数最后k个结点
题目输入一个长度为 n 的链表,设链表中的元素的值为 ai ,输出一个链表,该输出链表包含原链表中从倒数第 k 个结点至尾节点的全部节点。如果该链表长度小于k,请返回一个长度为 0 的链表。代码#include<iostream>using namespace std;struct Node{ int data; Node* next;};Node* Create(int n){ Node* p, * h, * s; h = new Node; h->
2021-10-21 20:23:07 146
原创 JZ25 合并两个排序的链表[C++]
目录题目代码题目输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。数据范围:0 \le n \le 10000≤n≤1000,-1000 \le 节点值 \le 1000−1000≤节点值≤1000要求:空间复杂度O(1)O(1),时间复杂度O(n)O(n)如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6},转换过程如下图所示:或输入{-1,2,...
2021-10-20 20:37:59 146
原创 JZ24 反转链表[C++]
题目输入一个长度为n链表,反转链表后,输出新链表的表头。数据范围:n\leq1000n≤1000要求:空间复杂度O(1),时间复杂度O(n)。如当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。以上转换过程如下图所示:示例1输入:{1,2,3}返回值:{3,2,1}示例2输入:{}返回值:{}说明:空链表则输出空 代码#include<...
2021-10-20 19:56:05 77
原创 JZ6 从尾到头打印链表[C++]
题目输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。如输入{1,2,3}的链表如下图:返回一个数组为[3,2,1]0 <= 链表长度 <= 10000示例1输入:{1,2,3}返回值:[3,2,1]示例2输入:{67,0,24,58}返回值:[58,24,0,67]代码#include<iostream>#include<vector>using namespa
2021-10-20 17:07:27 142
原创 数据结构——从概念到C++实现习题版
第二章 线性表顺序表的递增排序题目:已知顺序表L中的元素递增有序排列,设计算法将元素x插入到表L中并保持表L的递增有序我的答案:1.分析:创建数组——冒泡排序,从小到大——放入顺序表——完成顺序表的基本操作构建——顺序表的排序2.知识点: 冒泡排序:(29条消息) 冒泡排序法(C++实现)_孤岛violet-CSDN博客_冒泡排序c++代码 线性表的排序:3.我的实现:#include<iostream>using namespace std;...
2021-10-03 11:48:09 1844
原创 C++黑马程序员听课笔记
4 类和对象4.1 封装4.1.1 封装的意义#include<iostream>using namespace std;const double pi = 3.14;//封装class Cercle{public: int m_r; //属性 double zhouchang() //行为 { return 2 * pi * m_r; }};int main(){ Cercle c1; c1.m_r = 10; cout << "
2021-09-05 23:12:23 198 2
原创 数据结构(从概念到C++实现)
目录第2章 线性表2.1 引言2.2 线性表的逻辑结构2.2.1 线性表的定义2.2.2 线性表的抽象数据类型定义第2章 线性表2.1 引言线性表是描述单一的前驱和后继的关系2.2 线性表的逻辑结构2.2.1 线性表的定义线性表是一个有限的序列,每个元素有且只有一个前驱和一个 后继,表头和表尾元素分别无前驱和后继。线性表数据元素的个数称为线性表的长度,长度为0的线性表称为空表线性表的常用表达方式为:L=(a1,a2,a3,a4....an)2.2.
2021-09-05 22:39:26 6592 2
原创 【判断点和圆的位置关系】涉及类、分装文件
圆和点的位置关系,通过判断点到圆心之间距离的平方和圆的半径的²的位置关系实现#include<iostream>using namespace std;class Point {private: int m_X; int m_Y;public: void setX(int x) { m_X = x; } int getX() { return m_X; } void setY(int y) { m_Y = y; } int getY() { r
2021-07-18 15:13:22 114
原创 【C++基础学习日记】类和对象-封装-设计一个立方体类
题目:求出立方体类设计立方体类求出立方体的面积和体积分别用全局函数和成员函数判断两个立方体是否相等//1.设置并获取立方体类的长宽高//2.获取立方体类的面积和体积//3.实例化两个立方体//4.运用全局函数和成员函数判断两个立方体是否相等 #include<iostream>#include<cmath>using namespace std;class Cube{ private: int m_L; int m_w; int m_H; pu
2021-07-17 16:57:27 126
原创 【C++基础学习日记】类和对象-封装-成员属性私有化
//将所有成员属性设置为私有,可以自己控制读写权限//对于写权限,我们可以检测数据的有效性 #include<iostream>using namespace std;class Person{ private: string m_Name;//可读可写 int m_Age;//可读 (可以获取,但不可以设置) string m_Lover;//可写 (可以设置,但不可以获取) public: void setName(string name) {
2021-07-17 14:21:33 146
原创 【今日收获】关于 [Error] name lookup of ‘i‘ changed for ISO ‘for‘ scoping [-fpermissive]的解决方法
错误代码:#include<iostream>using namespace std;struct student{ char name[20]; float score; } ; int input(student s[],int n) { for(int i=0;i<n;i++) { cin>>s[i].name>>s[i].score; if(s[i].score<0)break; } return i;
2021-07-15 11:07:44 5937
原创 【今日收获】关于[Error] expected primary-expression before ‘;‘ token的解决方法
输入一个代码:#include<iostream>using namespace std;char *ladd(char *s1,char *s2){ int n1,n2,n; char *res,c=0; n1=strlen(s1); n2=strlen(s2); n=n1>n2?n1:n2; res=new char[n+2]; for(int i=n+1;i>=0;i--) res[i]=i>n-n1?s1[i-n-1+n1]:'0'; for(in
2021-07-14 11:56:43 20089 1
原创 【今日收获】关于[Error] expected identifier before ‘*‘ token的解决办法
首先,根据书本教材的代码学习,我打出了如下代码:#include<iostream>using namespace std;void swap_i(int *num1,*num2){ int t; t=*num1; *num1=*num2; *num2=t; } void swap(void *num1,void *num2,int size) { char *first=(char*)num1,*second=(char *)num2; for(int k=0;
2021-07-14 10:38:45 3003
原创 【今日收获】应用三目运算符求x,y,z的最大值
我看到这个题目时,我的思路是:1.定义x,y,z2.三目运算符列出关系式3.定义一个临时变量t连接x,y和z4.赋值求得最大值因此,我得出的代码如下:#include<iostream>using namespace std;int max(int x,int y,int z){ int t; t=x>y?x:y; t>z?t:z; return t;}int main(){ int a,b,c; cin>>a>>b>
2021-07-11 14:12:10 495
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人