- 博客(10)
- 收藏
- 关注
原创 测试你的电脑一秒能打印多少个数字(printf函数)
1、简介我们写一个测试程序,来测试下我们的电脑一秒钟可以打印出多少数字。思路很简单,我们只需要利用alarm函数定时1s。然后在while(1)中不断打印变量值就好。2、代码实现#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <unistd.h>#include <signal.h>int
2022-03-20 00:01:03 383
原创 基础算法——冒泡排序
1、思想它的基本思想是对所有相邻记录的关键字值进行比效,如果是逆顺(a[j]>a[j+1]),则将其交换,最终达到有序化;其处理过程为:将整个待排序的记录序列划分成有序区和无序区,初始状态有序区为空,无序区包括所有待排序的记录。对无序区从前向后依次将相邻记录的关键字进行比较,若逆序将其交换,从而使得关键字值小的记录向上”飘浮”(左移),关键字值大的记录好像石块,向下“堕落”(右移)。 每经过一趟冒泡排序,都使无序区中关键字值最大的记录进入有序区,对于由n个记录组成的记录序列,最多经过n-1趟
2022-03-06 22:15:43 107
原创 模拟一个顺序栈
1、简介栈作为一种常用的抽象数据类型,在平常的运用是十分常见的。它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。这篇文章带领大家一起模拟一个顺序栈的实现。并且封装一些常用的栈操作。相信用过STL中stack容器的同学经常会调用一些stack容器中打包的函数(如s
2022-03-06 15:00:50 137
原创 基础算法——递归
算法思想递归(recursion algorithm):在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。也可以说递归就是在函数定义中再调用自身的做法。好了,虽然其算法思维很简单,但是要使用起来却是很困难。有时候一个递归的算法光是理解起来就很难。(大师 L.Peter Deutsch 说过:To Iterate is Human, to Recurse, Divine.中文译为:人理解迭代,神理解递归。毋庸置疑地,递归确实是一个奇妙的思维方式。)递归三要素在这里本菜鸟只说一下对递
2022-03-05 21:36:40 801
原创 int (*p)[4]和int *p[4]的区别
基础知识如果给定一个数组int a[4]。那么a是数组的首地址,它可以被当成一个int 的指针来用。那么假如给定一个二维数组int a【3】【4】,那么a也可以被当成指针来使用,只不过类型是指向存储四个int型数据数组的指针。即int ()[4]。int (*p)[4]由于()的优先级高于[]的优先级,因此p先和()结合,表示p是一个指针,那么它指向的类型是什么呢?就是int [4],即一个含有四个int型数据的数组。(函数指针也可以这么理解)那么对其初始化的话也只能使用一个int(*)[4]类型
2022-02-20 21:41:41 3552 2
原创 用指针访问二维数组例题
话不多说,上代码void test(){ static int a[3][4]= {1,3,4,7,9,11,13,15,17,19,21,23}; int (*p)[4]=a,i,j,k=0; for(i=0;i<3;i++) for(j=0;j<2;j++) { k=k+*(*(p+i)+j); }printf("%d\n",k);}答案是60.分析:int (*p)[4]=a :这行代码是定义一个指向含
2021-12-14 17:26:08 1266
原创 c++局部const变量的修改
c语言下对局部const的修改void test() { const int m_b = 100; //伪常量。 int *p = &m_b; *p = 200; printf("%d\n", m_b);}在c语言下,这段代码是可以修改变量m_b的值的,因为此时m_b是分配在栈上的一个变量,而不是分配在常量区。我们可以把这种变量称为伪常量。c++下对局部const的修改void test() { const int m_b = 100; int *p = (int *)&a
2021-07-19 21:45:44 844 2
原创 Python的计算生态
从数据处理到人工智能:数据分析:numpy:表达n维数组的最基础库。(接口是Python,但是是用c实现)pandas:Python数据分析高层次应用库(基于numpy进行开发的库)scipy:数学、科学和工程计算功能库。(基于numpy进行开发的库)数据可视化:matplotlib:高质量的二维数据可视化功能库(基于numpy进行开发的库)seaborn:统计类数据可视化功能库(基于matplotlib进行开发的库,支持numpy和pandas)Mayavi:三维科学数据可视化功能库(支持nu
2021-05-02 15:59:01 219
原创 判断一棵树是否为二叉排序树
判断一个树是否是二叉排序树static boolean IsSearchTree(Bitree *t){if(!t) //空二叉树情况return true;else if(!(t.lchild)&&!(t.rchild)) //左右子树都无情况return true;else if((t.lchild)&&!(t.rchild)){ //只有左子树情况if(t.lchild.data>t.data)return fals.
2020-11-13 18:59:24 597
原创 快速排序的递归和非递归
public class QuickSort {//任取一个元素 (如第一个) 为中心//所有比它小的元素一律前放,比它大的元素一律后放,形成左右两个子表;//对各子表重新选择中心元素并依此规则调整,直到每个子表的元素只剩一个//一趟排序过程后我们返回枢纽的位置int partition(int A[], int left, int right) { //选择枢纽元素 int p = A[left]; while (left < right) { //
2020-11-01 18:21:24 220 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人