自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于指针的一些总结

一个例子:int* (*pa) (char*)=&arr 这里的int*就是指向的元素的类型,char*就是函数参数的类型。只有sizeof(数组名)和&数组名,这里的数组名代表的是整个数组,其他的情况,引用数组名就是表示数组首元素的地址。类型就是 int (*p)[10]=&arr arr是一个数组,存放的就是数组的地址,此时要注意*p必须用括号,因为[]优先级比*要高。指针数组是一种数组,里面的每个元素都是用来存放指针变量的,也就是地址。函数指针,指针指向的就是函数,里面存放的是函数的地址。

2024-03-24 16:00:40 223 1

原创 插入排序原理理解

首先函数需要接收一个数组与数组的长度作为形参,接下来对数组里的每个元素进行遍历,对其大小进行判断后再插入到排序后的数组中。接下来就需要对每个元素进行大小判断来决定它插入的位置,先用两个数把元素的下标和元素的值存放起来,便于在接下来对它进行操作。接着需要去判断这个元素它之前的元素是否比它大;如果比他小,那这个元素就放在比它小的元素后面。反之如果比它大,那么就接着向前寻找,直到找到比它小的元素,然后插在它后面。如果找到了或者已经到了数组下标为0的这个位置,就退出寻找这一步。这里我们简单介绍一下实现排序的原理。

2024-03-20 14:10:23 206 1

原创 浅谈对选择排序的理解

而后进入到对元素的移动层循环,首先将循环开始的第一个元素设置为最小项,然后向后遍历数组,将它之后的每个元素与它进行比较,如果遇到比初始设置的最小项还小的项,就将最小项设置为这个新找出的最小数。意思就是从开始的元素(包含这个元素自身)向后寻找,找到最小项后,如果这个值不是循环开始时设置的值,那么就将最小项与循环开始时的第一项进行交换,也就是依次将最小值移到数组的开始。选择排序的基本思想是选择最小的数依次放到数组的开始,通过循环对数组的遍历从而实现对数据的排序。代码的实现就如下图所示。

2024-03-19 20:37:06 208 1

原创 深入理解冒泡排序

给出一个数组为arr[10]={9,8,7,6,5,4,3,2,1,0},第一趟进行排序时,需要将arr[0]依次向后进行比较,如果满足arr[i]>arr[i+1],那就将两个数交换。所以第一趟循环的比较次数为10-1=9次。下来第2趟排序,该对8进行排序,由于不考虑9,那么依次向后比较的次数就会减少一次,只需要比8次就能将8放到最终的位置上。这里大家可能会有疑问为什么是9次循环,因为每一次循环都能将一个数字放到它最终的位置上,当9个数字都放在了最终的位置上时,那它最后一个元素也必然在其最终的位置。

2024-03-18 19:27:35 373

原创 浅谈分支循环语句(二)

第一个while语句,就是在while后的判断语句,如果符合判断条件,那么就持续执行while循环,一旦不符合条件,就立即跳出循环。在判断语句中,0表示假,非0表示真。在循环中,如果我们想要在满足某一条件后跳出循环,就需要使用break语句,就会永久的跳出break所在的当前的循环。上面两个循环实质上的内容是一样的,结构都很简单,但是需要我们在循环内部做进一步的初始化,变量的变化等操作。而for循环与前两者不一样,他在最开始的地方就可以做到变量的初始化,变量的判断,以及后续对变量的操作。

2024-02-17 12:04:16 488 1

原创 浅谈C语言的分支循环语句的理解(一)

在使用switch语句时,还要注意在case后的break的使用,即在达成我们所需要的目的之后要使用break跳出,不然语句就会继续向下执行直到最后一条语句。所以我们在写的时候就可以先在case语句后写上break,后续需要执行的操作再补充上。首先是分支语句,if else语句,它的结构很简单,首先在if后有判断语句,如果满足条件,那么就执行if后的语句,反之不成立的话,就去执行else后的语句。并且在if else中,对{}的使用比较重要,{}可以更清晰的表达代码的思路,更不容易出错。

2024-02-17 11:38:24 304 1

原创 用算法判断一个图是否为二部图

具体来说,我们可以对图中任意一个未确定颜色的顶点进行染色,即把它的颜色设为1或-1。然后对于与该节点相邻的所有顶点,将其颜色赋为与当前节点不同的颜色。然后对于未确定颜色的节点,依次重复上述过程,直到所有节点都有确定的颜色或者发现矛盾(即同一集合内出现了同色的顶点)为止。} else if (color[u] == color[v]) { // 前后两次染的颜色相同,返回。bool isBipartite(int u, int c) { // u为当前节点,c为颜色。// 节点颜色,1为红色,-1为绿色。

2023-05-30 17:24:48 749 2

空空如也

空空如也

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

TA关注的人

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