数据结构
2024/10/3大约 1 分钟
数据结构
- 结构体数据定义:
typedef struct Node
{
int data;
struct Node *next;
}Node,*Head;- 数组初始化:
int len = 10;
int* nums = (int*) malloc(len * sizeof(int));
memset(nums, 0, len * sizeof(int));- 读取输入
C/C++
#include <bits/stdc++.h>
#include <cstdio>
using namespace std;
int main() {
// 禁用cin/cout同步,加速
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n;
cin >> n;
cout << n << endl;
// 也可以使用 cstdio 读写
scanf("%d", &n);
printf("%d\n", n);
return 0;
}Java
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 非常慢,内部正则匹配
int n = sc.nextInt();
System.out.println(n);
// 使用 buffer 读
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// StringTokenizer 是一个字符串分析工具,默认以空格为分隔符,每次分析将得到下一个字符串 token
// 有第三个参数:是否将分隔符也作为一个 token 返回,默认 false
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
// hasMoreTokens() 判断是否有下一个 token
// countTokens() 获取剩余 token 数量
int n = Integer.parseInt(st.nextToken());
// 直接写
System.out.println(n);
// 使用 buffer 写
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write(n + "\n");
bw.flush();
}
}Python
import sys
# 速度较慢
n = int(input())
# 直接读取整行输入,包含最后换行符
s = sys.stdin.readline().strip()
print(s)
# 整块读取
data = sys.stdin.read().split()
# 输出
print(n)