自定义博客皮肤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)
  • 收藏
  • 关注

原创 队列——Java语言实现

队列队列是一个有序列表,可以用数组或者链表来实现。队列遵循先入先出的原则,即:先存入队列的数据先取出,后存入的后取出。例:用数组实现一个队列public class ArrQueueDemo { public static void main(String[] args) { //测试 //创建一个队列 ArrayQueue queue = new ArrayQu...

2019-07-24 16:17:14 223 1

原创 稀疏数组——Java语言实现

稀疏数组:概念介绍:当一个数组中的大部分元素为0,或者为一个相同的数值时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法:1.记录数组的行数,列数,及有多少个不同的数值。2.把具有不同值的元素的行列及数值记录在一个小规模的数组中,从而缩小数组及程序的规模。例:二维数组与稀疏数组的相互转换二维数组转稀疏数组思路:1.遍历原始二维数组,得到有效数据的个数sum2.根据...

2019-07-22 11:44:57 157

原创 贪婪算法(贪心算法)之装箱问题--C语言描述

贪婪准则:局部最优。贪婪准则一旦确定,中通不能改变。贪婪算法不一定能找到最优解,但可以近似最优解经典问题:装箱问题 1.问题描述       有若干个体积为V的箱子。有N个物品,物品的体积分别为V1,V2直到VN。将所有的物品装入箱子,使打开的箱子尽可能的少。2.贪婪准则:     (1)将物品按体积大小降序排列     (2)每一次取出的物品是未装入箱子中体积最...

2018-12-02 14:15:16 2753

原创 二叉树的遍历之递归遍历与非递归遍历--C语言描述

二叉树的遍历是二叉数应用的一个基础。而其遍历的方法可以分为递归和非递归,递归遍历相对来说比较简单,本人在另一篇博文中有详细介绍,此文将以前序非递归遍历为例子,给大家展示非递归遍历其基本思想既创建一个栈以存储数据域的值,以便二叉树的遍历 。#include <stdio.h>#include <stdlib.h>/*定义二叉树结点的类型*/type...

2018-11-27 22:43:34 264

原创 堆--C语言描述

一. 定义堆:一个特殊的完全二叉树  (1.)大根堆:根结点的值大于或等于左右结点数据域的值。(2.)小根堆:根结点的值小于或等于左右结点数据域的值。二. 堆的创建步骤:1.创建一个完全二叉树。           2.调整成大(小)根堆。 代码示例如下:此例的储存结构为数组#include <stdio.h>#include <s...

2018-11-25 18:08:06 258

原创 C++中利用引用传参

#include <iostream>using namespace std;void swap(int &a, int &b){ int temp = a; a = b; b = temp;}int main(void){ int a = 10, b = 20; swap(a, b); cout <<"a=" <&lt...

2018-10-27 21:32:21 136

原创 搜索二叉树的建立及遍历--C语言描述

#include <stdio.h>#include <stdlib.h>typedef struct node { int date; struct node * left, * right;}BTnode;//创建一个二叉树BTnode * CreateBTtree(int A[], int n){ BTnode *root, *c, *pa, ...

2018-10-12 22:21:32 424

原创 链表的删除--C语言描述

本程序设非空单向链表,且数据域不重复,删除关键字#include <stdio.h>#include <stdlib.h>#define N 6typedef struct node { int date; struct node * next;}ElemSN;//创建单向链表ElemSN * CreateLink(int a[]){ Elem...

2018-08-31 18:49:58 303

原创 创建链表及简单例题--C语言描述

创建单向链表 输出链表 输出尾节点的值 输出节点个数 输出奇数节点的个数 求最大值 逆向输出链表本链表以储存一整型数据为例,用C语言实现#include <stdio.h>#include <stdlib.h>#define N 5typedef struct node { int date; struct node * next;}Ele...

2018-08-30 19:33:37 1264 1

原创 C语言经典例题--冒泡排序

#include <stdio.h>void sort(int * a, int len){ int i, j, t; for (i = 0; i < len - 1; i++) { for (j = 0; j < len - i - 1; j++) { if (a[j] > a[j +1])// >表示升序,<表示降序 ...

2018-08-05 10:00:26 5492

原创 C语言经典例题--结构体指针变量作为函数参数的传递

#include <stdio.h>#include <string.h>struct student { int age; char sex; char name[30];};void inputstudent(struct student *ps)//对结构体变量输入时必须传地址{ (*ps).age = 10; strcpy(ps->n...

2018-08-03 17:50:59 11379 2

原创 C语言经典例题--动态构建一维数组

#include <stdio.h>#include <stdlib.h>int main(){ int len; int * parr; int i; //录入数组元素个数 printf("请输入你想要的元素个数\n"); scanf("%d\n", &len); parr = (int*)malloc(4*len); for (i = ...

2018-08-02 13:24:58 968

原创 C语言经典例题--利用函数输出一维数组

#include <stdio.h>void outarr(int * parr, int len){ int i; for (i = 0; i < len; i++) { printf("%d\t", parr[i]); } printf("\n");}int main(){ int a[6] = { 1,6,5,4,3,8 }; outarr...

2018-08-01 10:28:05 4681

原创 关于指针的一点心得

如何通过指针同被调函数修改主调函数的普通变量的值实参必须为普通变量的地址 形参必须为指针变量 在被调函数中通过   *形参名=   的方式修改主调函数中相关变量的值关于多级指针和跨函数使用内存void f(int ** q){ int i=5; *q=&i;}int main(){ int * p; f(&p);}*p等价...

2018-07-31 20:09:31 555

原创 C语言经典例题--利用指针交换两个变量的值

利用指针和函数,完成两个变量值得互换#include <stdio.h>void swap(int * p, int * q){ int t; t = *p; *p = *q; *q = t;}int main(){ int a = 3; int b = 5; swap(&a, &b); printf("a=%d,b=%d\n", a...

2018-07-31 19:15:00 8401

原创 C语言经典例题--统计整数出现次数

输入不确定数量的【0,9】范围内的整数,统计每一个整数出现的次数,输入-1表示结束#include <stdio.h>int main(){ const int number = 10; int x; int i; int count[number]; for (i = 0; i < number; i++) { count[i] = 0; } ...

2018-07-26 10:18:18 13108 1

原创 C语言经典例题--打印前五十个素数

利用while循环 #include <stdio.h>int main(){ int x; x = 2; int cnt = 0; while(cnt<50) { int i; int isPrime = 1; for (i = 2; i < x; i++) { if (x%i == 0) { isPrime = ...

2018-07-24 10:53:09 4613

原创 C语言经典例题--打印100以内的素数

#include <stdio.h>int main(){ int x; for (x = 2; x <= 100; x++) { int i; int isPrime=1; for (i = 2; i < x; i++) { if (x%i==0) { isPrime = 0; break; } } ...

2018-07-24 10:39:00 9359 2

原创 C语言经典例题--判断素数

判断素数#include <stdio.h>int main(){ int n; scanf("%d", &n); int i; int isPrime=1; for (i = 2; i < n; i++) { if (n%i == 0) { isPrime = 0; break; } } if (isPrime == ...

2018-07-24 10:11:11 1118

原创 C语言经典例题--猜数游戏

猜数游戏#include <stdio.h>#include <stdlib.h>#include <time.h>int main(){ int srand(time(0)); int number = rand() % 100; /*将给出的随机数转化到1到100之间*/ int count = 0; int a = 0; p...

2018-07-23 20:34:00 990

原创 C语言经典例题--对任意位数的正整数进行逆置

对任意位数的正整数进行逆置#include <stdio.h>int main(){ int x; scanf("%d", &x); int digit; int ret = 0; while (x > 0) { digit = x % 10; ret = ret * 10 + digit; x /= 10; } printf("...

2018-07-23 20:13:19 760

空空如也

空空如也

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

TA关注的人

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