算法竞赛——从C/C++到Java

一、基础语法部分(请自行复习相关语法)

1.1 数组的定义
1.2 输入输出方式(必要时需要快读和快写)

二、Java中模拟结构体数组的实现方案


public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Node node[] = new Node[11];
		for(int i = 0;i < node.length; i++)
		{
			node[i] = new Node();
			node[i].x = i;
			node[i].y = i+1;
		}
		for(int i = 0;i < node.length; i++)
		{
			System.out.print(node[i].x+"   "+node[i].y+"\n");
		}
	}

}
class Node {
	public int x;
	public int y;
}

三、Java中的“STL”

3.1Queue栈

Queue<Integer> queue = new LinkedList<>();

3.2Stack队列

Stack<Integer>stack = new Stack<>();

3.4List---动态数组

List<Integer>list = new ArrayList<>();

3.5 Map---散列表

Map<Integer,Integer> map = new HashMap();

3.3Set---集合

Set<Integer> set = new HashSet<>();

3.4Priority Queue---优先队列

Set<Integer> set = new HashSet<>();

四、补充小知识点

4.1无穷大

0x3f3f3f==>Integer.MAX_VALUE

4.2 Java中的memset
int[][] g=new int[N][N]; //创建二维数组
int[] lin=new int[N];     //创建一维数组
Arrays.fill(lin,Integer.MAX_VALUE);       //填充一维数组
Arrays.fill(g,lin);      //使用一维数组填充二维数组
4.3 结构体

利用没有方法的类来实现

public class Main {
	static class edge{
		int a,b,c;
	}
	static edge[] e = new edge[10010];
	public static void main(String[] args) {
		for(int i = 1;i <= 10;i++) {
		    //注意这里还要为数组中的每个元素定义一个对象
		    e[i] = new edge();
			e[i].a = e[i].b = e[i].c =i;
		}
		for(int i = 1;i <= 10;i++) {
			System.out.print(e[i].c+" ");
		}
	}
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值