- 博客(27)
- 收藏
- 关注
原创 串---------方便自我
字符串简称串,其概念为计算机上非数值处理的对象,基本都是字符串数据。我们常见的信息检索系统(如搜索引擎)、文本编辑程序(如Word)、问答系统、自然语言翻译系统等,都是以字符串数据作为处理对象的。串(string) 是由零个或多个字符组成的有限序列。一般 记为:S= 'a1a2...an' (n≥0)其中,S是串名,单引号括起来的字符序列是串的值;ai 可以是字母、数字或其他字符:串中字符的个数n称为串的长度。n=0时的串称为空串(用0表示)。串中任意多个连续的字符组成的子序列称为该串的。
2024-04-01 16:18:19
277
原创 栈——顺序栈和链式栈
作为一种数据结构,是一种只能在同一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)也就是后进先出(LIFO)或者先进后出。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。
2024-03-31 20:00:28
754
原创 BigInteger类的使用方法详解
在 Java 中,有许多数字处理的类,比如 Integer类,但是Integer类有一定的局限性。我们都知道 Integer 是 Int 的包装类,int 的最大值为 2^31-1。若希望描述更大的整数数据时,使用Integer 数据类型就无法实现了,所以Java中提供了BigInteger 类。BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支持任意精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值而不会丢失任何信息。
2024-03-27 23:47:22
1025
原创 Java数组填充:Arrays.fill()方法
线性表(Linear List)”:由同类型数据元素构成有序序列的线性结构➢表中元素个数称为线性表的长度➢线性表没有元素时,称为空表➢表起始位置称表头,表结束位置称表尾。
2024-03-25 23:37:04
1850
原创 线性表——顺序表和链式表的基础操作
**************************顺序表************************///静态分配int size;//顺序表初始化----置空表//创建顺序表datatype x;printf("请输入一组数据,以0作为结束符:\n");while(x)
2024-03-25 21:47:12
414
原创 《主要解析分治法——数列最大子段和》
2.从 center+1出发,每次向右边遍历一次步,就累加到rights,如果当前的值比上次的和 大,就赋给s2,一直向右直到位置right。1.从 center出发,每次向左边遍历一次,就累加到lefts,如果当前的和比上次的和大,就赋给s1,一直向左直到位置 left。第二种情况: 计算从 center+1 到 right的最大和,记作 right_sum。3.计算过center的连续值的和,s1+s2的和值 , 这个就是跨边界的和。——>a[p,q]即1=
2024-03-21 12:29:57
1831
原创 冒泡排序——时间复杂度
/ 如果相邻的两个元素大小顺序不对,交换它们的位置。System.out.println("排序后的数组:");// 将用户输入的整数存入数组a中,并将n加1。// 使用while循环,当用户还有输入时,继续循环。//双重作用(下标,数据的个数)// 定义整型数组a为10^5,多出为适宜。// 使用冒泡排序算法对数组a进行排序。// 输出排序后的数组。
2024-03-19 12:44:43
372
1
原创 删除一维数组中重复的数据,并作排序
它接受一个参数,即要查找的元素a[i],并返回一个布尔值,表示列表中是否存在该元素。// 将list中索引为i的元素转换为int类型,并赋值给aList数组的第i个元素。这个方法可以用于判断一个列表中是否包含某个特定的元素,可以帮助我们进行元素的查找和判断操作。// 将当前元素a[i]添加到list集合中。// 定义一个整型变量count,用于记录去重后的元素个数。// 如果list中不包含当前元素a[i]// 遍历list,将元素添加到aList中。// 输出list集合元素个数。
2024-03-19 12:36:43
491
1
原创 题目 1017: [编程入门]完数的判断
一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。编程序找出N之内的所有完数,并按下面格式输出其因子。// 输出n,和所要求的格式its factors are。// 因为n最多被他的1/2整除,所以定义为j < i/2.// 用双重循环来求出n的因子相加和,并判断n是否为完数。// 定义一个变量来接收n因子的相加和sum。// 判断并输出n的因子。// 判断n的因子相加和是否与n相等。
2024-03-14 22:04:25
406
原创 《分治法———残缺棋盘问题》
将三格板编号1-(size2-1)/3,将每个方格板的编号填充在代表棋盘的数组中,以这种方式表示棋盘被方格板覆盖。我们用一个二维数组Board[][]来模拟棋盘,覆盖残缺棋盘所需要的三格板数目为(size2-1)/3。这样的棋盘我们成为“三格板”,残缺棋盘问题就是要用这四种三格板覆盖更大的残缺棋盘。我们用左上角方格所在行和列来唯一确定一个棋盘,残缺方格或“伪”残缺方格用行号和列号记录。(2)三格板不能覆盖残缺方格,但必须要覆盖其他所有的方格。//tr:棋盘中左上角方格所在行。//dr:残缺方格所在行。
2024-03-12 22:47:54
2338
1
原创 链表排序-----1.0
/new_node->next 初始化后继节点指针为NULL。//new_node->data 设置节点数据,节点的值。//更新后继节点的节点指针。//返回新创建的节点。typedef struct node//node为节点。//向有序链表中插入新节点的函数。//定义链表节点的结构体。
2023-12-13 19:15:00
397
1
原创 P3817 小A的糖果(模拟+贪心)
小 A 每次可以其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中糖的个数之和都不大于 x,至少得吃掉几颗糖。//当两个盒子内的糖数大于参数X时,所吃的糖数。//当第一个盒子内的糖数大于参数X时,所吃的糖数。第二行有 n 个用空格隔开的整数,第 i 个整数代表第 i 盒糖的糖果个数 ai。//a[i]>=x,要吃的最少,即是a[i]=x;输入的第一行是两个用空格隔开的整数,代表糖果盒的个数 n 和给定的参数 x。输出一行一个整数,代表最少要吃掉的糖果的数量。
2023-12-06 20:37:01
409
1
原创 合理分房间
终于到了假期了,老是决定带领ACM队员们出去游山玩水,计划出行两天,这样的话中间要找地方住一晚。恰巧,老师带领队员们来到了一所酒店,这所酒店只有双人间(最多住两人)和三人间(最多住三人),但是价格不同现在我们算上老师,一共n个人,酒店的双人间价格是a元,三人间价格是b元,现在老师想知道怎么样安排房间才能使开销最小,求最小开销?行每行给出三个正整数n,a,b,1
2023-12-06 19:11:39
412
1
原创 字符串函数运用2.0(引用指针)
/将*s的值赋给*t指向的内存空间且从*t=='\0'处开始。void myStrcpy(char *t,char *s)//拷贝。void myStrcat(char *t,char *s)//连接。int myStrcmp(char *t,char *s)//比较。//将*s的值赋给*t指向的内存空间。printf("请输入要连接的两个字符串:\n");char myStrlen(char *s)//统计个数。printf("请输入两个字符串:\n");printf("请输入两个字符串:\n");
2023-11-30 12:22:26
366
原创 学生成绩管理系统2.0
printf("学号:%d,姓名:%s,成绩:%.2f \n",students[i].Id,students[i].Name,students[i].Score);printf("学号:%d,姓名:%s,成绩:%.2f \n",students[i].Id,students[i].Name,students[i].Score);printf("***********学生成绩管理系统****************\n");printf("请输入学生总人数(n
2023-11-27 20:56:29
1157
原创 1、现键盘输入n个元素的整型数组a中可能存在着重复数据,判断数组a中是否存在重复元素,并输出。2、删除数组中所有的重复元素,使数组变成一个集合且返回集合中元素的个数,并输出。
/发现重复值,后面一个覆盖前面一个。if (a[i] == a[j]) {//判断重复值。printf("数组中有重复元素 %d",result);printf("集合中元素的个数为:%d", n);printf("数组中没有重复元素");printf("删除重复元素后的数组为:");printf("请输入元素个数:");printf("请输入元素个数:");//判断数组中是否存在重复元素。
2023-11-27 20:36:38
560
原创 字符串函数运用
/strcat()函数表两个字符串的连接函数,且后一个连接取消前一个字符串的'\0';/*注:gets()、puts()函数只能输入输出一个字符串 (以'\0'结束)*///给定字符串 -->(包含文件)<string.h>
2023-11-26 17:00:27
939
1
原创 二维数组的鞍点问题(所在行最大值、所在列最小值)
printf("鞍点是arr[%d][%d],值为%d \n",xmax,ymax,arr[xmax][ymax]);= xmax && arr[k][ymax] <= arr[xmax][ymax])//取最小那个。k++)//与所在列逐个元素进行比较。j++)//先记录每行中最大元素的索引。if(t==0)printf("没有鞍点。printf("请输入矩阵的行数和列数:");printf("请输入矩阵的数值:\n");
2023-11-23 21:36:02
572
原创 1057:简单计算器
一个最简单的计算器,支持+, -, *, / 四种运算。2. 如果出现无效的操作符(即不为 +, -, *, / 之一),则输出:Invalid operator!2.如果出现无效的操作符(即不为 +, -, *, / 之一),则输出:Invalid operator!输入只有一行,共有三个参数,其中第1、2个参数为整数,第3个参数为操作符(+,-,*,/)。1. 如果出现除数为0的情况,则输出:Divided by zero!1.如果出现除数为0的情况,则输出:Divided by zero!
2023-11-22 16:27:52
385
原创 1098:质因数分解
=sqrt(n);i++)//最小的质数为2,2到n-1 2到n/2 2到sqrt(n)等那个快。i<sqrt(n);i++)//以根式n,减少不必要的循环次数。已知正整数n是两个不同的质数的乘积,试求出较大的那个质数。int isprime(int n)//判断是否为质数。输出只有一行,包含一个正整数 p,即较大的那个质数。if(i>j)//判断质数大小并赋值。对于100%的数据,6≤n≤2×10^9。对于60%的数据,6≤n≤1000。输入只有一行,包含一个正整数 n。
2023-11-22 15:25:17
257
原创 信息学奥赛一本通【例5.6】(冒泡排序)
------------------------------------运用函数结构体--------------------------------------------------------------------------主函数内-------------------------------------编程输入n(1≤n≤20)个小于10001000非负整数,然后自动按从大到小的顺序输出。if(arr[j]
2023-11-19 21:38:20
313
原创 信息奥数一本通【例4.15】水仙花数
【题目描述】求100∼999中的水仙花数。若三位数ABC,ABC=A^3+B^3+C^3,则称ABC为水仙花数。例如153,1^3+5^3+3^3=1+125+27=153,则153是水仙花数。
2023-11-19 19:20:55
101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人