順序表,鍊錶,棧,佇列 Java表示

2021-07-25 21:35:22 字數 3440 閱讀 3182

**不確認完全正確,主要看邏輯

package com.datastruct.list;

public

class sequencelist

}//長度獲取

public

intgetlength()

//是否為空

public boolean isempty()else

}//是否已滿

public boolean isfull()else

}//在指定位置插入元素

public

intinsert(int location,data insertdata)

if(location<1||location>this.getlength()+1)

for (int i=this.listlength;i>location-1;i--)

this.datalist[location-1]=insertdata;

this.listlength++;

return

1; }

//在頭插入元素

public

intaddfirst(data data)

//在隊尾插入元素

public

intaddlast(data data)

//刪除指定資料

public

intdelete(data data)

this.listlength--;

return

1; }

}system.out.println("沒有這一元素");

return

0; }

//刪除指定位置的資料

public

intdelete(int location)

for(int i=location-1;ithis.listlength--;

return

1; }

//刪除第乙個元素

public

intdeletefisrt()

for(int i=0;ithis.listlength--;

return

1; }

//刪除最後乙個元素

public

intdeletelast()

this.datalist[this.listlength-1]=null;

this.listlength--;

return

1; }

//按內容查詢查詢元素位置

public

intfind(data data)

for (int i=0;i}

return

0; }

//按位置查詢元素內容

public data getdata(int location)

return

this.datalist[location-1];

}//清空表

public

void

clear()

listlength=0;

}//銷毀表 ,銷毀和清空是不一樣的

public

void

free(sequencelist s)

}}

package com.datastruct.list;

public

class linklist

temp.next=node;

return head;

}//在頭部新增節點

public node addfirst(data data)

//查詢節點

public node find(data data)

temp=temp.next;

}return

null;

}//插入節點

public node insert(data data,data locationdata)

}return head;

}//刪除節點

public node delete(data data)

}return head;

}//表長度

public

intlength()

return length;

}public

void

free()

}

package com.datastruct.list;

public

class stack

system.out.println("記憶體分配失敗");

return;

}//判斷是否為空

public boolean isempty()

//判斷是否滿棧

public boolean isfull()

return

false;

}//入棧

public stack push(data data)

return

this;

}//出棧

public data pop()

return

null;

}//讀取棧,讀取指的是讀棧頂元素,和出棧的不同是讀取不會彈出棧頂元素。

public data read()

//棧元素數量

public

intsize()

//清空棧

public

void

clear()

top=data[0];

size=0;

}//銷毀棧 銷毀和清空是不一樣的

public

void

free(stack s)

}}

package com.datastruct.list;

public

class

queue

//判斷是否為空

public

boolean

isempty()

//清空佇列

public

void

clear()

//銷毀佇列

public

void

free(queue q)

//入隊

public

void

inqueue(data data)

//出隊

public data outqueue()

//讀取頭元素

public data readqueue()

//佇列長度

public

intlength()

return length;

}}

Java實現棧 佇列 鍊錶

棧 底層陣列 棧頂指標 public class mystack 自定義構造器,自定義初始化棧大小 public mystack int initsize 插入 public void push int num 刪除 public intpop 檢視 public intpeek 佇列 底層陣列 佇...

棧 佇列 鍊錶

includestruct queue int main while q.head includeint main maxvalue temp maxvalue temp maxvalue temp 0 for int j 1 j len j maxvalue temp maxvalue temp ...

使用順序表和煉表實現棧和佇列

一 棧 棧的核心操作 入棧 把元素放到棧裡 出棧 把最後進來的元素刪掉 取棧頂元素 獲取到最後乙個進來的元素的結果 使用順序表實現棧 使用尾插操作表示入棧 使用尾刪操作表示出棧 使用根據下表獲取元素的操作表示取棧頂元素 public class mystack data size val size ...