c数据结构学习随笔
#include <stdio.h>
#include <stdlib.h>
#include "PublicDS.h"
#include<Windows.h> typedef struct stack{
int top = -1;
int maxSize = 100;
//用于存放二进制位
int *data = (int *)malloc(100 * sizeof(int));
int pop(){
if (!isEmpty())
return data[top--]; }
void push(int n){
if (!isFull())
data[++top] = n;
}
bool isEmpty(){
return top < 0;
}
bool isFull(){
return top >= maxSize;
}
} stack;
int ReadData(FILE *, int *&);
void WriteData(FILE *, int *, int); void main(){
int *data;
FILE *fin, *fout;
fin = fopen("input.txt", "r");
fout = fopen("output.txt", "w");
MALLOC(data, 100 * sizeof(int), int *);
int tmp = ReadData(fin, data);
WriteData(fout, data, tmp);
FREE(data);
fclose(fin);
fclose(fout);
system("pause");
}
int ReadData(FILE *fin, int * &data){
int i = 1;
int n = 0;
int tmp;
while (!feof(fin)){
fscanf(fin, "%d", &tmp);
if (tmp != -1){
data[n++] = tmp;
// printf("%d\n", tmp);
if (n % 100 == 0){
int *p = (int *)realloc(data, 100 * (++i)*sizeof(int));
if (!p){
printf("error");
MessageBox(GetActiveWindow(), L"1", L"2", MB_OK);
}
else{
data = p;
// free(p);
// p = NULL;
}
}
}
} return n;
}
void WriteData(FILE *fout, int *data, int n)
{ for (int i = 0; i < n; i++)
{
fprintf(fout, "%8d--->", data[i]);
stack sc;
while (data[i] / 2 != 0)
{
sc.push(data[i] % 2);
data[i] /= 2;
}
sc.push(data[i]);
for (int j = 0; j <= sc.top;){
fprintf(fout, "%d", sc.pop());
}
fprintf(fout, "\n");
}
// printf("%d\n", n);
}
c数据结构学习随笔的更多相关文章
- javascript/js实现 排序二叉树数据结构 学习随笔
二叉树是一种数据结构.其特点是: 1.由一系列节点组成,具有层级结构.每个节点的特性包含有节点值.关系指针.节点之间存在对应关系. 2.树中存在一个没有父节点的节点,叫做根节点.树的末尾存在一系列没有 ...
- 算法设计和数据结构学习_5(BST&AVL&红黑树简单介绍)
前言: 节主要是给出BST,AVL和红黑树的C++代码,方便自己以后的查阅,其代码依旧是data structures and algorithm analysis in c++ (second ed ...
- (转) 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
特别棒的一篇文章,仍不住转一下,留着以后需要时阅读 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
- 数据结构学习之字符串匹配算法(BF||KMP)
数据结构学习之字符串匹配算法(BF||KMP) 0x1 实验目的 通过实验深入了解字符串常用的匹配算法(BF暴力匹配.KMP.优化KMP算法)思想. 0x2 实验要求 编写出BF暴力匹配.KM ...
- 数据结构学习之栈求解n皇后问题
数据结构学习之栈求解n皇后问题 0x1 目的 深入掌握栈应用的算法和设计 0x2 内容 编写一个程序exp3-8.cpp求解n皇后问题. 0x3 问题描述 即在n×n的方格棋盘上,放置n个皇后 ...
- C#程序集Assembly学习随笔(第一版)_AX
①什么是程序集?可以把程序集简单理解为你的.NET项目在编译后生成的*.exe或*.dll文件.嗯,这个确实简单了些,但我是这么理解的.详细:http://blog.csdn.net/sws8327/ ...
- Hive入门学习随笔(一)
Hive入门学习随笔(一) ===什么是Hive? 它可以来保存我们的数据,Hive的数据仓库与传统意义上的数据仓库还有区别. Hive跟传统方式是不一样的,Hive是建立在Hadoop HDFS基础 ...
- JavaScript ES6 数组新方法 学习随笔
JavaScript ES6 数组新方法 学习随笔 新建数组 var arr = [1, 2, 2, 3, 4] includes 方法 includes 查找数组有无该参数 有返回true var ...
- 64位BASM学习随笔(一)
64位BASM学习随笔(一) Delphi的BASM一直是我最喜爱的内嵌汇编语言,同C/C++的内联汇编相比,它更方便,更具灵活性,由于C/C++的内联汇编仅仅能是或插入式的汇编代码,函数花括号 ...
随机推荐
- java之JAVA异常
异常的分类 1. 编译时被检测异常:只要是Exception和其子类都是,除了特殊子类RuntimeException体系. 此类异常在处理时必须进行声明或进行捕捉 这 ...
- ASPX的Timer位置没放正确,导致整页刷新,而不是UpdatePanel里的内容刷新。
提示:Timer应该放在UpdatePanel的ContentTemplate标签里,才行.放在外面的话,会导致整页刷新.
- windows安装MySQL
1)双击MySQL安装文件mysql-essential-5.0.82-win32.msi.进入欢迎页面. 单击Nextbutton.进入到安装类型页面. 2)在安装类型页面中的第一项是典型安装,第二 ...
- QML Image得到的图片资源路径的详细信息
最近又开始了Qt5.在学习QML当地的资源总是越来越留念类似 " QML Image: Cannot open: qrc:///images/Blue hills.jpg "的错误 ...
- leetcode[70] Simplify Path
题目的意思是简化一个unix系统的路径.例如: path = "/home/", => "/home"path = "/a/./b/../../ ...
- DynamicResource与StaticResource的区别
原文:DynamicResource与StaticResource的区别 2008-06-20 12:16:12 静态资源在第一次编译后即确定其对象或值,之后不能对其进行修改.动态资源则是在运行时决定 ...
- Moon.Orm 5.0 (MQL版)
Moon.Orm 5.0 (MQL版) 实战实例Moon.Orm 5.0 革命性的设计 打造最便捷的异步分页技术(提供下载) 摘要: 一.建一个项目(以WebForm为例)配置文件配置(注意您自己的路 ...
- linux sendmail 邮件服务器架设(fedora 8)
linux sendmail 邮件服务器架设(fedora 8) 2009-01-22 17:27 3316人阅读 评论(2) 收藏 举报 邮件服务器linuxprotocolscaching测试lo ...
- 树莓派学习笔记 1 -- 硬件的需求以及raspbian系统的安装
树莓派(Raspberry Pi) -- 基于Linux系统的大小只有信用卡大小的卡片式机器. 按照发明者的想法,他是想降低学习程序开发的成本而设计制作的这款产品.你可以理解为一个简陋版的电脑.树 ...
- XLink and XPoint
XLink 定义在 XML 文档中创建超级链接的标准方法. XPointer 允许这些超级链接指向 XML 文档中的更多具体部分(片断). XLink XLink 是 XML 链接语言(XML Lin ...