数据结构与队列的创建

今儿学了数据结构, 我的感觉吧 ,数据结构就是一特殊的 存储数据的方式,数据之间以某种关系结合起来 , 达到一种别的方法所达不到的效果。高中的时候我就学了数组 , 没想到它也是个数据结构 ,= =。今天碰巧学校老师也讲了数组,C++的跟java的也差不多。
常用的数据结构吧 ,我百度了一下 ,有以下一堆:
数组 (Array),栈 (Stack),队列 (Queue),链表 (Linked List),树 (Tree),
图 (map),堆 (Heap),散列表 (Hash)。
今天主要学习的是数组和队列 ,队列也就是利用了一个新的数组给原来数组上面增加减少删减一些数据,来实现一个无限容量的数组(如果内存够用的话)= =。
对于今天刚接触这个东西来说 ,感觉还不错,需要多加观察与练习。达到熟练掌握了~以后还有更多的数据结构等着我,= =。 听说数据结构这东西还挺麻烦的......

然后附上今天做的一个大概,~
package array1;
public class QueueImp implements QueueInterface{

//首先定义一个长度为0的初始数组
String[] src = new String[0];

public void add(String s) {
//定义一个新的数组,长度是原始数组长度+1
String[] dest = new String[src.length+1];

//将要放入的元素放到新数组的最后一个下标位置
dest[src.length] = s;

//将原始数组中的数据按照下标顺序拷贝到新数组中
for(int i=0;i<src.length;i++){
dest[i] = src[i];
}
src = dest;
}
public String get(int index) {

//取得数组中对应下标的元素
String str = src[index];
return str;
}
public int size() {
return src.length;
}
public void insert(String s, int index) {
//定义一个新的数组,长度是原始数组长度+1
String[] dest = new String[src.length+1];
//将要放入的元素放到新数组的插入位置
dest[index] = s;
//将原始数组中的其余数据按照下标顺序拷贝到新数组中
for(int i=0;i<index;i++){
dest[i] = src[i];
}
for(int i=index+1;i<src.length+1;i++){
dest[i] = src[i-1];
}
src = dest;
}
public void modify(int index, String s) {
//定义一个新的数组,长度是原始数组长度
String[] dest = new String[src.length];
//将要修改的元素放到新数组的修改位置
dest[index] = s;
//将原始数组中的其余数据按照下标顺序拷贝到新数组中
for(int i=0;i<index;i++){
dest[i] = src[i];
}
for(int i=index+1;i<src.length;i++){
dest[i] = src[i];
}
src = dest;
}
public void remove(int index) {
//定义一个新的数组,长度是原始数组长度-1
String[] dest = new String[src.length-1];

//将原始数组中的其余数据按照下标顺序拷贝到新数组中
for(int i=0;i<index;i++){
dest[i] = src[i];
}
for(int i=index+1;i<src.length;i++){
dest[i-1] = src[i];
}
src = dest;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值