Giter Site home page Giter Site logo

dataexperiment's Introduction

[私有] 数据结构实验

没什么开源的价值,也没有保护的必要的作业题目罢了

只是为了方便在自己的win、mac 与学校的病毒机上共同开发

然而最终主要还是在我的win10 上完成的。。。
只能说win10 真的很好用,至少很适合我


编译好的exe 执行文件都放在了out/ 文件夹下面


环境说明,跑不起来或出现乱码的童鞋仔细了

  • 主要开发环境为win10 + vscode
  • 编译环境为mingw64 ,理论兼容g++、gcc
  • 文件编码一律UTF-8 ,编译后的程序及导出文件为系统编码

(导出主要文件是指第六题导出的统计报告(.txt)、Excel表格(.csv)等)

中文乱码主要原因都是编码问题,一般来说windows上vc6、Visual Studio、DevC++等默认编码是GBK, Visual Studio应该可以自行修改编码,其它两者无解,建议换vscode,修改编码为UTF-8 。

实在搞不定直接拿out/ 目录下编译后的可执行文件看效果吧

最近事情实在多,总算赶在最后期限完成了。。。

  • 如果只是为了应付差事,建议别抄这份代码,风格太明显
  • 如果是为了交流学习,欢迎指正

虽然做这种东西没多少价值,但既然不得不做,还是做完美些,也算价值相对最大化


收获还是有的,虽然拿这些时间精力做啥都会有点收获

  1. 探索了一下在C里运用各种编程范式,而不是一般的过程式编程

虽然不知道有多大意义,但还是挺好玩的

  1. 尝试了在C里模仿其他语言的一些特性

参照Go的命名规则,模仿Python的面向对象,模仿Java的接口。

为什么说是模仿python的面向对象而不是Java呢,
因为我并没有做到,在对象上调用方法时能自动获取到对象本体。
如果需要引用对象自身,还是得通过传入一个this 或者self 对象,
而这与python更像


计划中是没有js的,但不得不提,结构体本身作为方法、属性的载体,大括号式赋值这一点,真的非常像js,或者说Json
  1. 第六题里,重点尝试了用C还原一个类Java的HashMap

具体的实现细节主要参考Effective Java 和Java 1.8 源码
当然一些地方还是不得不让步,比如异步、多态、重载方法等

dataexperiment's People

Contributors

zhengxiaoyao0716 avatar

Watchers

 avatar  avatar

dataexperiment's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.