数据结构-用二维数组构造列表

发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967

课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。

腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518

第二个视频发布  https://edu.youkuaiyun.com/course/detail/27109

腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518

介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange,endpoint,event,conponentstatus,node,apiservice,controllerRevision等。

第三个视频发布:https://edu.youkuaiyun.com/course/detail/27574

详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件
————————————————------------------------------------------------------------------------------------------------------------------

package com.data.struct;

/**
 * 二位数组实现列表
 * 第一行表示next
 * 第二行表示value
 * 第三行表示prev
 * @author Administrator
 *
 */
public class ArrayNodeList {
	private int[][]storage;
	private int head;
	private int free;
	
	public ArrayNodeList(int size){
		storage=new int[3][size];
		head=-1;
		free=0;
		for(int i=0;i<size-1;i++){
			storage[0][i]=i+1;
		}
		storage[0][size-1]=-1;
		
	}
	/**
	 * 获取某个位置的值
	 * @param index
	 * @return
	 */
	public int getValue(int index){
		return storage[1][index];
	}
	/**
	 * 分配内存
	 * @return
	 * @throws Exception
	 */
	private int locateObject()throws Exception{
		if(free==-1){
			throw new Exception("out of space");
		}else{
			int x=free;
			free=storage[0][free];
			return x;
		}
		
	}
	/**
	 * 释放内存
	 * @param x
	 */
	private void freeObject(int x){
		storage[0][x]=free;
		free=x;
	}
	/**
	 * 打印
	 */
	public void print(){
		int x=head;
		while(x!=-1){
			System.out.print(storage[1][x]+" ");
			x=storage[0][x];
		}
		System.out.println();
	}
	/**
	 * 搜索值为k的为位置
	 * @param k
	 * @return
	 */
	public int search(int k){
		int x=head;
		while(x!=-1&&storage[1][x]!=k){
			x=storage[0][x];
		}
		return x;
	}
	/**
	 * 插入值为value的数据
	 * @param value
	 * @throws Exception
	 */
	public void insert(int value)throws Exception{
		int x=locateObject();
		storage[0][x]=head;
		storage[1][x]=value;
		storage[2][x]=-1;
		if(head!=-1){
			storage[2][head]=x;
		}
		head=x;
	}
	/**
	 * 删除位置为index的数据
	 * @param index
	 * @throws Exception
	 */
	public void delete(int index)throws Exception{
		if(storage[2][index]!=-1){
			storage[0][storage[2][index]]=storage[0][index];
		}else{
			head=storage[0][index];
		}
		if(storage[0][index]!=-1){
			storage[2][storage[0][index]]=storage[2][index];
		}
		freeObject(index);
	}
	public static void main(String[] args)throws Exception {
		ArrayNodeList list=new ArrayNodeList(10);
		list.print();
		list.insert(10);
		list.insert(20);
		list.print();
		list.delete(1);
		list.print();
		list.insert(30);
		list.insert(40);
		list.print();
		//list.delete(2);
		//list.print();
		System.out.println(list.getValue(list.search(30)));

	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值