- 博客(12)
- 收藏
- 关注
原创 小白都能理解的三种遍历非递归算法C++实现
中序遍历非递归遍历算法遇到一个结点,就把它压栈,并去遍历它的左子树;当左子树遍历结束后,从栈顶弹出这个结点并访问它;然后按其右指针再去中序遍历该结点的右子树。伪码如下:void InOrderTraversal( BinTree BT ){ BinTree T=BT; Stack S = CreatStack( MaxSize ); /*创建并初始化堆栈S*/ while( ...
2020-02-19 12:42:59 798
原创 东华2017复试上机真题
第四题 编程题题目如下:有n(n很大)个范围为0~32767数字,其中有大量重复的数,在main函数中已读入到data 数组中,请编写函数fun,计算剔除重复数字之后,还剩下几个数。fun函数的功能是:传入两个形参,一个是数组data,一个是n的值,经过计算,返回剔除 重复数字后剩下的数字的个数。比如,程序运行时输入: 5 1 1 3 1 3则程序输出:2要求:请衡量时间复杂度和空间...
2020-02-17 21:56:02 301
原创 二叉树的建立C&C++版本
废话不多说,直接上代码//C语言编写的代码#include <stdio.h>#include <malloc.h>//节点开辟空间头文件 typedef struct node{ int data; struct node*lchild; struct node*rchild;}Node,*BTnode;Node *createBiTree(){//No...
2020-02-17 16:13:06 1446
原创 顺序查找算法与二分查找算法实例
//顺序查找算法#include <stdio.h>int search(int arr[],int key){ int i; for(i=9;i>=0;i--) if(arr[i]==key) return i;}int main(){ int a[10]; int i; for(i=1;i<10;i++) a[i]=i;//1-9设置元素...
2020-02-16 23:17:45 474
原创 快速排序
快速排序在区间中随机挑选一个元素作基准,将小于基准的元素放在基准之前,大于基准的元素放在基准之后,再分别对小数区与大数区进行排序。#include <stdio.h>//快速排序void quick_sort(int s[], int l, int r){ if (l < r){//填坑法 int i = l; int j = r; int x = s[i...
2020-02-15 20:09:44 67
原创 插入排序
插入排序:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。代码:#include <stdio.h>void insertion_sort(int arr[],int len){ int i,j; for(i=1;i<len;i++){//总的趟数 int temp=arr[i]; for(j=i;j>0...
2020-02-15 17:43:08 124
原创 选择排序
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。#include <stdio.h>void selection_sort(int arr[],int len){ int ...
2020-02-15 17:00:10 81
原创 冒泡排序
冒泡排序冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。#include <stdio.h>void bubblesort(int arr[],int len){ for(int i=0;i<len;i++){ for(int j=0;j<...
2020-02-15 16:32:54 96
原创 C语言条件表达式的分析
条件表达式的一般形式为:表达式1?表达式2:表达式3条件运算符的执行顺序是,先求解表达式1,若为真则求解表达式2,此时表达式2的值作为整个条件表达式的值。若表达式1的值为假,则求解表达式3,表达式3的值为整个条件表达式的值。 a = 10; b = (a == 1) ? 20: 30;//最前面的是赋值运算符 printf( "b 的值是 %d\n", b ); ...
2020-02-14 11:52:54 2480
原创 程序员随笔记录
1.一次在Dev-C++软件中,测试OJ时。主函数中定义了int a[1000][1000]。程序运行时,直接崩溃。后来经查明,是开辟的二维数组的空间太大了,爆栈了。2.建议开辟空间不超过int a[100][100]...
2020-02-05 19:50:23 166
原创 Win10安装JDK遇见的一些问题记录
1.安装JDK最好不要放在中文或者带空格的目录下,以免将来出现不必要的麻烦2.配置环境变量在系统变量下2. 1新建——>变量名:JAVA_HOME ,其路径为JDK安装路径,不要在后面加\bin等东西了2.2我们找到path,新建%JAVA_HOME%\bin;保存即可3.进行验证,打开命令行,输入java,看是否成功,不要输入javac,因为输入javac失败了,可能跟我有些...
2020-02-04 17:46:38 232
原创 C++关于数组的直接输出
字符串数组与非字符串的数组通过cout直接进行输出1.首先我们先看一段代码#include using namespace std;int main(){int a[5]={1,2,3,4,5};cout<<a<<endl;char b[5]={‘h’,‘a’,‘p’,‘p’,‘y’};cout<<b;return 0;}运行结果如下:...
2020-02-01 19:22:55 7170 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人