三大语言(C/Java/Python)基本数据类型大小 / 内置容器 总结

三大语言(C/Java/Python)基本数据类型大小 / 内置容器 总结

@Author Luzhuo (http://luzhuo.me/blog)

关于为什么选这三门语言:
Java: 我是做移动开发的, 必选项;
C: 追求极致的速度, C必选;
Python: 快速开发, 不二之选.

基本数据类型

这张表格中, C的字节数大小是最重要的, 因为C能通过指针直接修改某类型的部分值, 而类型大小同时决定了指针的步长.

Java数据类型 Java字节数 C数据类型 C字节数(win32位系统) Python数据类型 Python字节数
boolean 1bit - - bool -
byte 1 - - - -
char 2 char 1 chr -
short 2 short 2 - -
int 4 int 4 int -
long 8 long 4 - -
- - long long 8 - -
float 4 float 4 float -
double 8 double 8 - -
- - - - complex -
string - - - str -

注:

  1. 以上表格的字节数的单位均为Byte类型, 除非特殊标注, 如1bit
  2. C的基本类型数据字节数比较特殊, 在32位操作系统和62为操作系统上, Win vc12 和 Linux gcc5.3.1 上的表现均不同.
  3. C分为 有符号类型(signed int) 和 无符号类型(unsigned int).
  4. Java的所有类型均为有符号类型.
  5. 1Byte = 8bit, 内存中的数据从右往左看.
  6. Python是弱类型语言, 字节数不是重点, 在C会自动转换数据类型

内置容器

结构组合 C Java Python 特点
数组 vector ArrayList(Vector/CopyOnWriteArrayList) list 动态数组, 查询快O(1),增删慢O(n)
数组+数组 deque - - 双端查询增删都快O(1), 不支持中间段操作
数组+数组 stack - - FILO(先进后出), 默认使用deque容器, 使用尾部
数组+数组 queue - - FIFO(先进先出), 默认使用deque容器, 尾部入头部出
数组式二叉树 priority_queue - - 最高级先出, 头部查询快O(1), 增删一般O( log ⁡ 2 N \log_{2}N log2<
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值