import java.util.ArrayList;
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比疊彩網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式疊彩網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋疊彩地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
import java.util.List;
public class ListDemo {
public static void main(String[] args) {
int numLength = 10;
int deleteNum = 5;
ListInteger list = new ArrayListInteger();
init(numLength,list);
delete(deleteNum,list);
print(list);
}
private static void print(ListInteger list) {
for(int i=0;ilist.size();i++){
System.out.print(list.get(i) +"\t");
}
}
private static void delete(int deleteNum,ListInteger list) {
for (int i=0;ilist.size();i++){
if((int)list.get(i)==deleteNum){
list.remove(i);
}
}
}
private static void init(int numLength,ListInteger list) {
for(int i=1;i=numLength;i++){
list.add(i);
}
}
}
//當(dāng)然你要是把你的代碼貼上來就更好了,可以幫忙找出問題,另外也可以知道你對java了解到哪個程度了呵,給出的幫助可能更實(shí)際一些
//LinkedList本身底層就是鏈表數(shù)據(jù)結(jié)構(gòu),有現(xiàn)成的,拿來用吧。
public?class?Demo?{
public?static?void?main(String[]?args)?throws?IOException{
LinkedListString?list?=?new?LinkedListString();
list.add("asd");
list.add("dfdfgfdg");
list.add("df");
list.add("uiui");
list.add("hjhj");
System.out.println(list);
}
}
import java.util.Scanner;
import java.util.Arrays;
public class P
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
float[] A=new float[1],B=new float[1];
int alen=0,blen=0,i,j,k;
String line;
System.out.println("請輸入線性表A的各元素,每行一個(輸入#結(jié)束):");
while(true)
{
line=sc.nextLine();
if(line.equals("#"))
break;
A=Arrays.copyOf(A,++alen);
A[alen-1]=Float.parseFloat(line);
}
System.out.println("請輸入線性表B的各元素,每行一個(輸入#結(jié)束):");
while(true)
{
line=sc.nextLine();
if(line.equals("#"))
break;
B=Arrays.copyOf(B,++blen);
B[blen-1]=Float.parseFloat(line);
}
Arrays.sort(A);
Arrays.sort(B);
System.out.println("升序排序后,線性表A的各元素是:");
for(i=0;ialen;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
System.out.println();
System.out.println("升序排序后,線性表B的各元素是:");
for(i=0;iblen;i++)
{
System.out.print(B[i]+" ");
}
System.out.println();
System.out.println();
A=Arrays.copyOf(A,alen+blen);
for(i=0;iblen;i++)
{
if(B[i]=A[alen-1])
A[alen++]=B[i];
else
{
for(j=0;jalen-1;j++)
{
if(B[i]=A[j])
break;
}
for(k=alen-1;k=j;k--)
{
A[k+1]=A[k];
}
A[j]=B[i];
alen++;
}
}
System.out.println("線性表B按順序插入線性表A中后,線性表A的各元素是:");
for(i=0;ialen;i++)
{
System.out.print(A[i]+" ");
}
sc.close();
}
}
#包括“stdio.h中”
typedef結(jié)構(gòu)節(jié)點(diǎn)
{C,E / /節(jié)點(diǎn)的數(shù)據(jù)域,C為系數(shù)的多項(xiàng)式e多項(xiàng)式指數(shù)
結(jié)構(gòu)節(jié)點(diǎn)下/ /節(jié)點(diǎn)的指針字段
} PN / /自定義的節(jié)點(diǎn)結(jié)構(gòu)類型PN
PN * createPoly()/ /這個函數(shù)用于創(chuàng)建一個鏈表,返回值是一個節(jié)點(diǎn)的指針
{N,E,C;
PN *頭,* P / /定義頭結(jié)點(diǎn)指針頭節(jié)點(diǎn)的指針p
printf(“請輸入項(xiàng)目編號項(xiàng)目:“);
scanf的(”%d“,&N); / / n的值,無論是項(xiàng)目的數(shù)量
頭= P = PN / / * malloc的(大?。≒N));/ /頭,p指向頭節(jié)點(diǎn)(頭節(jié)點(diǎn)不必存儲的數(shù)據(jù))
P- = NULL; / /這里,創(chuàng)建一個空列表
( - )/ /循環(huán)n次
{
P- =新PN ;/ / * malloc的(如sizeof(PN));/ /動態(tài)分配新的節(jié)點(diǎn),然后在鏈末端(尾插)
P = P-下;
/ / printf的(“CE”); / /到新的節(jié)點(diǎn),添加數(shù)據(jù)
scanf的(“ %d月%d“,&P- C:P- E);
}
P- = NULL; / /指針域頁腳設(shè)置為空
返回頭; / /返回頭節(jié)點(diǎn)地址
}
無效printPoly(PN *頭)/ /這個函數(shù)是用來
{PN * P =頭下輸入鏈接的列表信息; / /用來遍歷鏈表節(jié)點(diǎn)指針P,P點(diǎn)的表頭
(P)/ /當(dāng)p = NULL的表底,在周期結(jié)束
{printf(“請(%D,%D)”,P- C,P- E)/ /顯示當(dāng)前節(jié)點(diǎn)的數(shù)據(jù)
P = P-; / / P點(diǎn)移動到下一個節(jié)點(diǎn)
}
printf的(“\ n”); / /輸出一個回車
}
的無效freePoly(PN *頭)/ /函數(shù)是用來摧毀的鏈表
{PN * P / /釋放節(jié)點(diǎn)(動態(tài)內(nèi)存塊)
同時(shí)(頭)/ /頭= NULL(已經(jīng)到了結(jié)束的表),在循環(huán)結(jié)束
{P =頭; / /讓p指向頭節(jié)點(diǎn)稱為
頭=頭下; / /指向頭移動到下一個節(jié)點(diǎn)/刪除(P)/ / P所指節(jié)點(diǎn)釋放(動態(tài)內(nèi)存塊)
}
}的
PN * polyAdd的(PN公頃,PN * HB)/ /這個函數(shù)兩個多項(xiàng)式的總和
{C,E; / / C是多項(xiàng)式的系數(shù),e是多項(xiàng)式指數(shù)
PN * PA = HA-下一個* PB = HB-下,/ /?PA,PB用于遍歷兩個鏈表傳遞的參數(shù)(參數(shù)兩個鏈表的頭結(jié)點(diǎn)指針),讓我們稱呼他們?yōu)殒湵鞟B
* HC,* PC / / HC新列表頭的總和的兩個列表中的相應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn),PC,用于遍歷新的列表,鏈接列表的稱之為C
HC = PC =新PN;
(PA |以pb計(jì))/ /當(dāng)兩個鏈表的遍歷完成循環(huán)停止
{
(PA (PB == NULL | | PA- E E))/ /取指數(shù)項(xiàng)鏈成一個鏈表或鏈接列表b遍歷完成后,執(zhí)行內(nèi)容
,如果{C = PA- C;
E = PA- E;
PA = PA-下;
}
其他(PB (PA == NULL | | PA- E PB- E))/ /走索引就是少了一個項(xiàng)鏈成一個鏈表,鏈表的遍歷完成實(shí)施的內(nèi)容,如果
{C = PB- C;
E = PB- E;
PB = PB-;
}
/ /指數(shù)等于執(zhí)行
{C = PA- C + PB- C;
E = PA- E;
PA = PA-下;
PB = PB-下;
}
(C)/ /添加一個鏈接到一個新的列表清單 BR / {
PC-下一個新的PN;
PC = PC-
PC - C = C;
PC- E = E; BR /}
}
PC-下一個= NULL;
回報(bào)HC / /返回一個新的列表頭節(jié)點(diǎn)的指針
}的
PN * mulxmul的(PN公頃PN HB)/ /這個函數(shù)是每個項(xiàng)目表關(guān)閉一次onexmul功能,并最終實(shí)現(xiàn)多項(xiàng)式乘法的a和b
{PN * T * HC,* PA = HA-“下;
PN * onexmul(PN * PA,PN * HB)/ /函數(shù)的聲明,因?yàn)橄乱粋€步驟是使用
PN * polyAdd的( PN *公頃,PN * HB)/ /函數(shù)聲明,因?yàn)橄乱粋€步驟是使用
T =新的PN,T - = NULL; / /存儲最終的結(jié)果鏈表,t為頭,該表姑且稱之為T臺上
(PA)/ /遍歷一個鏈表
{HC = onexmul(PA,HB); / / PA所指的項(xiàng)目表中的b表所有的項(xiàng)目都乘以(即多項(xiàng)式多項(xiàng)式B乘)
T = polyAdd(T,HC); / /將分別相乘的結(jié)果中添加
freePoly(HC); / /將調(diào)用onexmul功能生產(chǎn)破壞中間的鏈表,鏈表的項(xiàng)目已經(jīng)在t鏈表
PA = PA-下;
}
回報(bào)噸; / / T-表頭結(jié)點(diǎn)指針返回
}
PN * onexmul的(* PA,PN PN * HB)/ /這個函數(shù)是用來PA所指的項(xiàng)目表中的b表項(xiàng)相乘(即多項(xiàng)式一個多項(xiàng)式B相乘)
{PN * HC,PC,PB = HB-; / / HC是新的列表頭節(jié)點(diǎn),PC遍歷新的列表 BR / HC = PC = PN / / HC,PC指向頭節(jié)點(diǎn)
一段時(shí)間(以pb計(jì))/ /遍歷b鏈接列表
{PC-下一步= PN / /創(chuàng)建一個新的鏈表節(jié)點(diǎn)
PC = PC - 下;
PC- C = PA- C * PB- C; / /到新的節(jié)點(diǎn)分配的系數(shù),系數(shù)等于乘以
PC- E = PA - E + PB- E / /指數(shù)指數(shù)總和等于
PB = PB-下;
}
PC - 下一步= NULL;
返回HC / /新的列表頭節(jié)點(diǎn)的指針返回
}
詮釋的main()
{ PN *下*,HB,HC;
freopen(“; poly.in”,“R”狀態(tài),stdin); / /只讀模式poly.in
freopen(“poly.txt “,”W“中,stdout); / /只寫模式打開poly.txt
公頃= createPoly()/ /創(chuàng)建一個新的鏈接列表,哈頭節(jié)點(diǎn)的指針(多項(xiàng)式)
printPoly醫(yī)管局總(公頃); / /輸出節(jié)點(diǎn)的指針鏈表信息
HB = createPoly()/ /創(chuàng)建一個新的鏈接列表,HB頭節(jié)點(diǎn)指針(多項(xiàng)式)
printPoly(HB); / /輸出HB頭節(jié)點(diǎn)的指針鏈表信息
HC = polyAdd(HA,HB)/ /多項(xiàng)式一個多項(xiàng)式B和結(jié)果,HC是頭節(jié)點(diǎn)的指針鏈表
printPoly(HC) /添加/輸出鏈表信息
freePoly(HC); / /銷毀鏈表的
HC = mulxmul(HA,HB)/ /多項(xiàng)式一個多項(xiàng)式B相乘的結(jié)果,HC頭節(jié)點(diǎn)的指針
printPoly(HC)/ /輸出鏈表的信息后乘以鏈表
freePoly(公頃); / /銷毀鏈表
freePoly(HB); / /銷毀鏈表
freePoly(HC); / /銷毀的鏈表
返回0;
}
OK,花了大量的時(shí)間來幫你寫下來筆記,完整的,完全一樣的原理和數(shù)學(xué)模型,它應(yīng)該是能讀“,”流程圖“,相信,理解程序,它是難以劃清,嘗試下。
借用樓上的代碼
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
ListInteger l1 = new ArrayListInteger(Arrays.asList(3,5,8,11));
ListInteger l2 = new ArrayListInteger(Arrays.asList(2,6,8,9,11,15,20));
ListInteger tmp = new ArrayListInteger(l2);
tmp.removeAll(l1);
ListInteger result = new ArrayListInteger(l1);
result.addAll(tmp);
System.out.println(result);
l1.addAll(l2);
Collections.sort(l1);
System.out.println(l1);
}
}