- 博客(9)
- 收藏
- 关注
原创 c语言,冒泡排序及其全部优化方法!!!
一次比较两个元素,如果它们的顺序错误就把它们交换过来。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡优化一:选择排序,就是不用一比较有元素比上一个元素大或者小就交换,而是把最大或者最小的元素找出来再只交换一次,优化核心代码如下。冒泡优化四:到这里的话,优化主要是将上面三种优化两两结合,比如选择+立flag,立flag+双向冒泡,选择+双向,等等......冒泡优化三:双向冒泡,就是从前面冒泡一半和从后面在冒泡一半,可以降低时间复杂度,从而能够更快的进行。它重复地走访过要排序的。
2024-02-08 14:30:05 649
原创 c语言,函数递归解决汉诺塔问题!
并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。简单来说,就是有三个柱子,目标是把在A柱子上的圆盘移到C柱子上去,如下图所示。有上述递归可知,就是2的n次方-1,比如当n=3时,就要移动7步才能解决问题。需要注意的是大盘子必须在小的盘子下面,而且每次只能移动一个盘子!汉诺塔(Tower of Hanoi),又称河内塔,是一个源于。那么思路就是用函数递归的思想把大问题话成小问题,逐个解决的问题。柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。先来介绍一下汉诺塔问题。
2024-01-14 11:58:01 524 1
原创 c语言,求1+2+...+n<m的最大值n
要想求1+2+,,,+n<m的最大的n,判断条件就得在sum的基础上加上n+1,因为sum<m是求sum>m的n的最小值,加上n+1的意思就是说提前加一项来看看这个sum有没有大于这个人m,如果是大于m的话就结束循环,这样就能求得n得最大值。
2024-01-13 16:58:54 395 1
原创 c语言,将一位大于等于10的正整数的个位与十位互换!
同理,如果你想将一位正整数的个位和百位互换,那就先将个位,十位,百位分别求出来,然后再用比如1234-234+4*100+3*10+2即可!通过这个原理,我们可以将一位整数的任意位数和你想要互换的位数(除了最大位数)进行互换!原理就先将整数的个位和十位通过取模运算分别提取出来,然后再用原来的数减去它原本的个位和十位再加上个位乘10和十位即可,eg:1234-34+4*10+3=1243。有一位大于十的正整数,要求将其个位和十位进行互换,例如10 ,互换后为01,124,互换后为142,具体代码实现如下。
2023-12-16 10:17:11 691
原创 c语言,三个数求最大值!或最小值!
其中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,可以理解为固定的数。有三个数a,b,c,求他们三者当中的最大值并输出,具体代码实现如下。
2023-12-14 17:00:28 769 2
原创 c语言第一课,书写helloworld
具体代码实现很简单,就是用一个printf函数打印字符串helloworld,\n是换行的意思,其中#include是调用这个库的意思。大一上块结束了,学习c语言也有3个多月了,做一个分享,也当做是对自己的复习。c语言第一课 用printf输出helloworld。
2023-12-14 16:32:11 353 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人