自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 C语言——处理头文件会多次包含问题

在头文件的开头使用#ifndef和#define,这里的HEADER_NAME_H是一个自定义的标识符,可以用头文件的名称来替代。当第一次包含头文件时,HEADER_NAME_H宏尚未定义,因此#ifndef条件成立,#define HEADER_NAME_H定义了宏,然后包含头文件的内容。这样,在再次包含同一个头文件时,HEADER_NAME_H宏已经被定义了,因此#ifndef条件不成立,头文件的内容将被跳过,避免了重复定义。当处理头文件多次包含的问题时,可以使用条件编译指令来防止头文件的重复包含。

2023-08-03 20:43:50 602

原创 C语言——条件编译

在 C 语言中,可以使用预处理器指令 #ifdef、#ifndef、#if、#elif、#else 和 #endif 来实现条件编译。这些指令通常用于控制头文件的包含、定义常量、选择性编译代码块等。它允许根据定义的宏或预处理器变量的值来控制编译过程,从而在不同的条件下选择性地编译代码块。条件编译非常有用,可以根据不同的编译选项或平台,使得代码具有更好的灵活性和可移植性。它在处理跨平台、调试和优化等方面都有广泛的应用。#if、#elif 和 #else:用于在预处理阶段根据条件判断选择性地编译代码块。

2023-08-03 20:42:07 297

原创 数据结构(C语言)线性表的定义和基本操作

线性表定义逻辑特征定义线性表:是具有相同特征的数据元素的一个有限序列,同一线性表中的元素必定具有相同特性,数据元素间的关系是线性关系逻辑特征由n(n>=0)个数据元素(结点)a1,a2,……an组成的有限序列。期中数据元素的个数n定义为表的长度当 n =0时称为空表将非空的线性表(n > 0) 记作:(a1,a2,a3)这里的数据元素ai(1<=i<=n)只是一个抽象符号,其具体含义在不同情况下可以不同例如:26个英文字母组成的英文表(A,B,C,D

2022-01-22 09:48:20 1512

原创 数据结构(C语言) 算法和算法分析

算法的定义、描述、算法与程序、特性、设计要求、算法分析、算法效率、时间复杂度、空间复杂度

2022-01-19 15:54:44 1723

原创 数据结构(C语言) 基本概念和术语(3)

基本概念和术语(3)数据类型抽象数据类型(ADT)定义格式数据类型在使用高级程序设计语言编写程序时,必须对程序中的每个变量、常量或表达式,明确说明他们所属的数据类型 。例如,C语言中:提供int,char,float,double等基本数据类型数组、结构、共用体、枚举等构造数据类型还有指针、空(void)类型用户也可以用typedef自己定义数据类型数据类型的作用:约束变量或常量的取值范围约束变量或常量的操作抽象数据类型(ADT)定义ADT是指数学模型以及定义在此

2022-01-18 16:07:25 460

原创 数据结构(C语言) 基本概念和术语(2)

基本概念和术语(2)数据结构逻辑结构(两种)存储结构(四种)数据结构数据结构包括一下三方面的内容:.数据元素之间的逻辑关系,也称为逻辑结构.数据元素及其关系在计算机内存中的表示(又称为映像),称为数据的物理结构或数据的存储结构.数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现。数据结构的两个层次逻辑结构描述数据之间的逻辑关系与数据的存储无关,独立与计算机是从具体的问题抽象出来的数学模型物理结构(存储结构)数据元素及其关系在计算机存储

2022-01-18 11:07:28 419

原创 数据结构(C语言) 基本概念和术语(1)

数据结构(C语言描述)基本的概念和术语(1)数据、数据元素、数据项、数据对象

2022-01-17 15:49:02 491

原创 Leetcode | 外观数列 | java

Leetcode | 外观数列 | java给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = "1"countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:111211211111221第一项是数字 1描述前一项,这个数是 1

2021-05-26 11:14:51 101

原创 Leetcode | 搜索插入位置(java)

Leetcode | 搜索插入位置(java)(二分查找法)给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5 输出: 2示例 2:输入: [1,3,5,6], 2 输出: 1示例 3:输入: [1,3,5,6], 7 输出: 4示例 4:输入: [1,3,5,6], 0 输出: 0public int searchInsert(i

2021-05-19 22:15:42 93

原创 求1到n之间的所有完数(Java语言)

求完数(Java语言)输入一个数,求1到该数内的所有完数,并输出这个完数输入:30输出:6,28import java.util.Scanner;class Main { public static void main(String[] args) { Scanner s1=new Scanner(System.in); int n=s1.nextInt(); int k=0;//调整格式 for(int i=1;i<=

2021-05-19 21:58:49 1874 1

原创 Leetcode|java 移除元素

Leetcode | java 移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的

2021-05-18 20:29:42 66

原创 Leetcode|Java|最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = ["flower","flow","flight"] 输出:"fl"示例 2:输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。package my;public class Main { public static void main(String[] args) { String []

2021-05-18 20:07:50 82

原创 java | 判断是否为回文数(简单方法)

判断是否为回文数(简单方法)输入一个数判断是否为回文数package my;import java.util.Scanner;public class Mian { public static void main(String[] args) { Scanner s1=new Scanner(System.in); System.out.println(isPalindrome(s1.nextInt())); } public stati

2021-05-18 18:51:02 677

原创 统计字符出现的次数(Java)

统计字符出现的次数(Java)在一个字符串中统计每个字符出现的次数,输出对应字符的个数下面为Java的代码:package my;import java.util.*;class Main{ public static void main(String[] args) { Scanner s1=new Scanner(System.in); String a=s1.nextLine(); TreeMap<Character

2021-05-18 18:30:39 340

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除