自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 问答 (1)
  • 收藏
  • 关注

原创 快速排序(java实现)

然后对基准元素左边和右边的元素重复(1)和(2)步骤,直到每个子数组的大小为1或0,即数组已经有序。当左指针超过右指针时,停止。此时,右指针所在位置即为基准值的最终位置。设置两个指针,一个在起始位置(左指针),一个在结束位置(右指针)。如果左指针仍在右指针左侧,则交换这两个元素,然后继续移动指针。当递归完成后,所有子数组都变为有序,整个数组也就有序了。移动左指针,直到找到一个大于等于基准值的元素。移动右指针,直到找到一个小于等于基准值的元素。小于基准的元素移到基准的左边。大于基准的元素移到基准的右边。

2024-06-26 01:07:42 202

原创 合并排序(java实现)

合并排序(Merge Sort)是一种稳定的、基于比较的排序算法。它采用分治法的思想,将数组分成两个子数组,递归地对每个子数组进行排序,然后将两个有序子数组合并成一个有序数组。2. 算法步骤分解(divide):将数组从中间分成两个子数组,分别对这两个子数组进行递归排序。解决(conquer):如果子数组只有一个元素,则该子数组已经有序。合并(Combine):将两个有序子数组合并成一个有序数组。

2024-06-22 22:33:47 156

原创 方法(java)

java的方法

2022-06-19 21:27:32 133 1

原创 辗转相除法求两个正整数的最大公约数(java)

辗转相除法求两个正整数的最大公约数

2022-06-18 19:53:03 934

原创 java变量与运算符

javaSe学习

2022-06-16 17:16:59 218

原创 go语言基础之变量和常量

一、标识符与关键字(1) 标识符在编程语言中,标识符是由程序员定义的具有某种特殊意义的符号,如:变量名、常量名、函数名等等。在go语言中,标识符由_(下划线)、字母和数字组成,并且只能由字母或_下划线开头,如:abc、_123、a123。(2)关键字关键字是指编程语言中预先定义好的具有特殊含义的标识符。go语言中有25个关键字:break default func interface selectcase defer go map structchan .

2022-04-29 17:54:13 408

原创 字符串追加函数strcat及其模拟(C语言)

strcat功能:在一个字符串后面追加另一个字符串(Append a string)。函数原型:char *strcat( char *strDestination, const char *strSource );第一个参数:目标字符串。第二个参数:源字符串。返回值:目标字符串的地址(即:目标字符串在内存中的一个地址单元编号)。注意事项:在这里插入代码片源字符串必须以 ‘\0’ 结束。目标空间必须有足够的大,能容纳下源字符串的内容。目标空间必须可修改(不能为常量字符串)。如

2022-04-10 10:21:37 1434

原创 冒泡排序(优化版)(C语言实现)图解、清晰易懂

冒泡排序是交换排序的一种。官方定义:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。原理:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。每趟排序过后,最大的数就会沉底,不在参与后续的排序。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没

2022-04-04 10:57:08 1488

原创 异或^操作符(C语言)

一、 简介1. 异或^操作符:是一个位操作符,针对于二进制位(比特位)的操作。2. 规则:两个数在同一个二进制位(比特位),相同为0;不同为1。3. 异或操作符的一些性质:3.1 任何一个数与自己异或都等于0:a^a=0;3.2 任何一个数与0进行异或操作等于它自己:a^0=a;3.3 异或运算满足交换律,结合律 :a^b=b^a;(a^b)^c=a^(b^c);二、示例示例1:题目要求:交换两个int变量的值,不能使用第三个变量,如a=3,b=5,交换后a=5,b=3;代

2022-04-03 22:09:08 6232

原创 统计一个整数(用户输入)二进制形式中1的个数(C语言)

一、预备知识:操作符&的工作原理:对于操作符&两个操作数,在同一个二进制位上,只有同时为1时与运算才会为1,否则为0.一个整数4个字节32个比特位。操作符&是位运算符,针对的是二进制位也就是比特位。二、思路:有了上面的预备知识,那么我们就可以一个比特位一个比特位去计数题目中所要求的二进制形式的1的个数。先设置一个枢纽变量pivot,pivot为int类型。当要看某个比特位是否为1时,就把pivot该比特位设置为1,其他比特位设置为0。用pivot和整数&与运

2022-04-03 21:30:57 706

原创 字符串逆序(C语言)

int main(void){ char arr[] = "abcdefg"; //char*arr ="abcdefg"; //这样写程序会崩溃,因为这样写,“abcdefg”是常量字符串,不能够改变 reverse(arr); printf("%s", arr); return 0;}void reverse(char* arr){ int len=strlen(arr); //计算字符串的长度 char* left = arr; //字符串首个字符的地址

2022-02-04 23:47:47 213

原创 水仙花数(C语言)

”水仙花数”:是指一个n位数,其各位数字的n次方之和恰好等于该数本身,如:153=13+53+3^3,则153是一个“水仙花数”。打印水仙花函数#define _CRT_SECURE_NO_WARNINGS#include<math.h>void WaterFlower(int start, int end)//要判断的数范围:起始数start-结束数end{ int i = 0; int n = 1; //几位数 int tmp = 0;//计算几位数时的临时变量 int

2022-02-04 22:12:54 574

原创 指针应用场景一

交换两个变量的值#include<stdio.h>void swap(int* a, int* b);int main(void){ int a = 5; int b = 8; swap(&a, &b); printf("a的值为:%d\nb的值为:%d", a, b); return 0;}void swap(int* a, int* b){ int t; t = *a; *a = *b; *b = t;}...

2021-11-20 22:50:21 498

原创 指针应用场景三

函数返回运算的状态 ,结果通过指针返回常用的套路是让函数返回特殊的不属于有效范围内的值来表示出错-1或0(在文件操作会看到大量的例子)但是当任何数值都是有效的可能结果时,就得分开返回了示例程序:#include<stdio.h>int divide(int a, int b, int* result);int main(void){ int a = 5; int b = 2; int c; if (divide(a, b, &c)) .

2021-11-20 22:39:59 473

原创 动态内存分配malloc()、free()

动态内存分配malloc#include<stdlib,h>void*malloc(size_t size); //函数原型 向malloc申请的空间的大小是以字节为单位的。 如果申请失败,则返回0,或者叫做NULL 返回的结果是void*,需要类型转换为自己需要的类型(int*)malloc(n*sizeof(int))free() 把申请得来的空间还给”系统“ 注意:只能还申请来的空间的首地址。示例:逆序输出#include<stdi

2021-11-20 18:37:06 514

原创 指针应用场景二

函数返回多个值,某些值就只能通过指针返回。传入的参数实际是是返回带回的结果的变量。程序示例:找出一组数中的最大和最小值。#include<stdio.h>void minmax(int a[], int len, int* min, int* max);int main(void){ int min, max; int a[] = {1,2,3,4,5,6,7,8,9,12,13,14,16,17,21,23,55 }; minmax(a, sizeof(a) / size.

2021-11-20 10:20:37 303

原创 代码编译时光标闪烁的两种方式

两种反射的切换,按ins键。也就是把numberlock键关了后的0键。

2021-11-20 09:35:41 412

原创 产生随机数函数rand()、时间函数srand

产生随机数需用到rand()函数(在stdlib.h中声明),它返回一个在0~32767之间的随机整数。如rand( )%100的结果是0~99的整数,要得到a到b之间的随机数可用公式:a + rand( )%(b-a+1)。虽然每次调用rand()函数会返回一个随机数,但每次运行程序这个序列是相同的,也就是每次运行程序都产生相同的随机数,如下,每次运行程序都是产生相同的一组数若要产生随机的序列需要用系统时钟作为参数调用srand函数产生随机种子,用法如下:在使用rand()函数前使用..

2021-11-17 16:43:44 881

原创 数组例子:统计个数 count[x]++

题目要求:写一个程序,输入数量不确定的[0,9]范围内的整数,统计每一种数字出现的次数,输入-1表示结束**难点:**理解count[x]++;solution:count[x]++实际上与count[x]=count[x]+1等价,也就是说,count数组中第x元素加1。#include<stdio.h>#define number 10 //数组大小int main(void){ int x; int count[number]; int

2021-11-17 16:28:16 1256

原创 数组和指针(一)

数组和指针int some_data[4]={14,10};其中some_data[2]和some_data[3]的值为0;但初始化列表中的值少于数组元素个数时,编译器会把剩余的元素都初始化为0。如果初始化列表中的值多于数组元素个数时,编译器会无情地将其视为错误。const int days[]={31,28,31};其实,可以省略方括号中的数字,让编译器自动匹配数组大小和初始化列表中的项数。int arr[6]={[5]=212}; // 把arr[5]初始化为212对于一般的初始化

2021-11-16 18:50:04 438

原创 大话数据结构笔记(一)

第1章 数据结构绪论(大话数据结构笔记)1.1 数据结构起源数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。程序设计=数据结构+算法。1.2 基本概念和术语数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据元素:是组成数据的、有一定意义的基本单位。什么是数据元素?如:牛、羊,马,鸡、猪、狗等动物是禽类的数据元素。数据项:一个数据元素可以由若干个数据项组成,是数据的最小单位。什么

2021-11-10 23:52:46 414

空空如也

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

TA关注的人

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