
C C++
SuilandCoder
just a coder;
展开
-
C++引用与指针的比较
在学习数据结构(C语言版)的时候,为了便于算法描述,除了值调用方式外,增添了C++语言的引用调用的参数传递方式。在这里将引用和指针进行一下比较:C++引用与指针的比较引用是C++中的概念,初学者容易把引用和指针混淆一起。一下程序中,n是m的一个引用(reference),m是被引用物(referent)。 int m; int &n = m;n相当于m的别名(绰号)转载 2017-07-04 15:14:47 · 287 阅读 · 0 评论 -
双向起泡算法
#include "stdio.h" //交换数字 void swap(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp;}//双向起泡排序 void bubbleSort(int a[],int n){ int low=0,high=n-1; int i,j; int flag=1;//一趟排序结束是否有交换 whi原创 2017-12-06 17:26:58 · 2179 阅读 · 0 评论 -
位图排序案例
题目:文件A.txt中存储了N个整数(N大于100万),要求仅占用4K内存,对该文件中的整数进行排序,结果输出到B.txt。先说明下位图排序的思路:假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们就可以采用Bit-map的方法来达到排序的目的。要表示8个数,我们就只需要8个Bit(1Bytes),首先我们开辟1Byte的空间,将这些原创 2017-12-04 19:07:28 · 771 阅读 · 0 评论 -
使用至多4种颜色给多区域着色问题
因为时间问题,没有详细描述算法思路。#include "stdio.h"//4种颜色着N个区域//使用无向连通图表示区域,邻接矩阵存储图信息--因为偷懒,并没建立对应的数据结构 #define N 9int adj[N][N]={{0,1,0,1,0,0,0,0,0}, {1,0,1,1,1,1,0,0,0}, {0,1,0,0,1,1,0,0,0},原创 2017-11-24 20:41:50 · 2699 阅读 · 0 评论 -
字符指针变量和字符数组的讨论
/*** 经常会弄错字符指针变量和字符数组的使用方式 * 写在这里方便查阅 :* * (1)内容不同:* 字符数组由若干个元素组成,每个元素放一个字符。* 而字符指针变量中存放的是地址(字符串第一个字符的地址),决不是将字符串放到字符指针变量中。* * (2)赋值方式: * 对字符数组只能对各个元素赋值,不能用以下方法: * char str[14]; *原创 2017-11-20 17:01:42 · 418 阅读 · 0 评论 -
malloc与直接声明变量的区别
/*** 以下操作都以声明数组为例 !* * 一 使用形式的区别* malloc的使用: * int *a = (int *)malloc(sizeof(int)*N); * 直接声明: * int a[N]; * *二 分配方式的区别* malloc动态分配----内存是在堆区分配的,分配内存时需要在堆区分配,耗时较大,因为内存管理操作的缘故,分配的内存需要手动析构;原创 2017-11-19 23:58:45 · 5441 阅读 · 3 评论 -
使用单链表统计英文文本单词个数
#include "stdio.h" #include "malloc.h"#include "string.h"/*** 注意下面三个*********************************************中的内容* 都是容易出错的地方! */ //统计字符串中单词个数及每个单词出现次数typedef struct WordsNode{ int tim原创 2017-11-17 23:06:16 · 3001 阅读 · 0 评论 -
前序,中序序列建立二叉树
#include "stdio.h" #include "malloc.h"/*** 根据前序pre[n],中序pin[n]序列 建立二叉树, n为结点数 */typedef struct TNode{ char c; struct TNode *lchild,*rchild;}TNode,Tree;Tree *createTree(char pre[],char pin[]原创 2017-11-14 19:24:52 · 917 阅读 · 0 评论 -
循环赛程安排
#include "stdio.h" //为参加网球比赛的选手安排比赛日程,设有n(=2k)位选手参加网球循环赛,循环赛共进行n-1天,//每位选手要与其他n-1位选手都赛一场,且每位选手每天赛一场,不轮空。#define MAXLEN 100int b[MAXLEN][2];//记录所有比赛场次对手 int j=0;//比赛总场次 //第一步,使用组合算法,求出n个选手,两两之间原创 2017-11-28 17:41:18 · 845 阅读 · 0 评论 -
循环队列逆置
#include "stdio.h" #include "malloc.h"#include "stdlib.h"#define MAXSIZE 11/*** 实现循环队列的逆转*/typedef struct{ int data[MAXSIZE]; int front ,rear;}CQueue; //初始化队列CQueue *InitQ() { CQueue *原创 2017-11-14 15:36:28 · 2971 阅读 · 0 评论 -
指针变量作为函数参数问题
今天建哈夫曼树的时候发现指针变量作函数参数的问题,花了两个多小时,深刻反思!插入元素到从小到大排序的单链表中,并保持链表的有序性,有两种做法:一种是带头节点的单链表(很简单,不讨论)另一种是不带头节点的单链表插入:标准的不带头节点插入方法(用返回值返回第一个节点地址):Link *insert(LNode *node,Link *head){ LNode *p原创 2017-10-30 00:01:37 · 2041 阅读 · 1 评论 -
c语言中auto、register、extern、static用法
转载地址:http://www.111cn.net/net/c/38998.htm四种存储类别说明符有两种存储期:自动存储期和静态存储期。auto和register对应自动存储期,具有自动存储期的变量在进入声明该变量的程序块是被建立,它在该程序块活动时存在,退出该程序块时撤销。auto、register 两个是用来修饰变量的, extern、static两个都变量函数都可以转载 2017-10-02 17:49:01 · 2565 阅读 · 0 评论 -
c# 执行cmd命令跳过"press any key to continue"
一 、场景 在C#程序中需要调用一个exe程序(控制台应用程序),该exe程序执行到最后出现 “press any key to continue”,需按键结束。要求在C#程序中实现模拟输入,结束调用的exe程序。二、代码实现exe程序代码: #include "stdafx.h"using namespace std;int _tmain(int argc, ...原创 2018-08-09 15:31:14 · 5753 阅读 · 0 评论