日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

算法与数据结构实战实验——线性数据结构实现与应用(使用java)

發(fā)布時(shí)間:2024/3/13 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法与数据结构实战实验——线性数据结构实现与应用(使用java) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)驗(yàn)?zāi)康摹ㄟ^(guò)實(shí)驗(yàn)達(dá)到:
⑴ 理解和掌握線性結(jié)構(gòu)的概念及其典型操作的算法思想;
⑵ 熟練掌握基本線性結(jié)構(gòu)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及其操作的實(shí)現(xiàn);
⑶ 理解和掌握受限線性結(jié)構(gòu)——堆棧、隊(duì)列的概念及其典型操作的算法思想、實(shí)現(xiàn)。

題目1:一元多項(xiàng)式的操作

設(shè)有兩個(gè)一元多項(xiàng)式:
p(x)=p0+p1x+p2x2+···+pnxn
q(x)=q0+q1x+q2x2+···+qmxm
多項(xiàng)式項(xiàng)的系數(shù)為實(shí)數(shù),指數(shù)為整數(shù),設(shè)計(jì)實(shí)現(xiàn)一元多項(xiàng)式操作的程序:
① 多項(xiàng)式鏈表建立:以(系數(shù),指數(shù))方式輸入項(xiàng)建立多項(xiàng)式,返回所建立的鏈表的頭結(jié)點(diǎn);
② 多項(xiàng)式排序:將所建立的多項(xiàng)式按指數(shù)非遞減(從小到大)進(jìn)行排序;
③ 多項(xiàng)式相加:實(shí)現(xiàn)兩個(gè)多項(xiàng)式相加操作。操作生成一個(gè)新的多項(xiàng)式,原有的兩個(gè)多項(xiàng)式不變,返回生成的多項(xiàng)式的頭結(jié)點(diǎn);
④ 多項(xiàng)式的輸出;
⑤ 主函數(shù)通過(guò)調(diào)用多項(xiàng)式鏈表建立函數(shù),輸入兩個(gè)多項(xiàng)式并分別輸出;輸出排序后的兩個(gè)多項(xiàng)式;分別調(diào)用多項(xiàng)式相加函數(shù)實(shí)現(xiàn)多項(xiàng)式相加、相減操作,分別輸出操作結(jié)果。

⑴ 所定義的數(shù)據(jù)結(jié)構(gòu):

class node{int a;//系數(shù)int b;//指數(shù)node next=null;node(int i,int j){a=i;b=j;} }

⑵ 主要操作算法思想或算法步驟:

package edu.dgut.experiment.one;//數(shù)據(jù)結(jié)構(gòu) class node{int a;//系數(shù)int b;//指數(shù)node next=null;node(int i,int j){a=i;b=j;} }//鏈表及其操作 public class Link {node head=null;//頭結(jié)點(diǎn)//創(chuàng)建鏈表/*Link(int n){}*///添加結(jié)點(diǎn)public void addNode(int a,int b){node newNode=new node(a,b);if(head==null) {//判斷是否添加至頭結(jié)點(diǎn)head=newNode;return;}//從尾部添加node temp=head;while(temp.next!=null) {temp=temp.next;}temp.next=newNode;}//排序(冒泡)public void sort() {if(head == null || head.next == null) { //鏈表為空或者僅有單個(gè)結(jié)點(diǎn)//System.out.println("");return;}node cur = head, tail = null;while(cur.next != tail){while(cur.next != tail){if(cur.b > cur.next.b){int tmp1 = cur.b;cur.b = cur.next.b;cur.next.b = tmp1;int tmp2 = cur.a;cur.a = cur.next.a;cur.next.a = tmp2;}cur = cur.next;}tail = cur; //下一次遍歷的尾結(jié)點(diǎn)是當(dāng)前結(jié)點(diǎn)cur = head; //遍歷起始結(jié)點(diǎn)重置為頭結(jié)點(diǎn)}return;}//輸出public void print() {sort();//————以排序?yàn)榍疤?/span>node cur=head;//排序后的第一項(xiàng)if(cur.a==1&&cur.b==1)System.out.print("x");else if(cur.a==1&&cur.b!=1)System.out.print("x^"+cur.next.b);else if(cur.a!=1&&cur.b==1)System.out.print(cur.a+"x");else {System.out.print(cur.a+"x^"+cur.b);}//排序后第一項(xiàng)以后while(cur.next!=null) {if(cur.next.a==1)System.out.print("+"+"x^"+cur.next.b);elseSystem.out.print("+"+cur.next.a+"x^"+cur.next.b);cur=cur.next;}}//多項(xiàng)式相加public node addLink(node h2) {node h1=head;Link newLink = new Link();node cur1=h1,cur2=h2;//將cur2中各項(xiàng)添加到cur1或newLink中的headwhile(cur2!=null) {boolean isAdd=false;while(cur1!=null) {if(cur1.b==cur2.b) {cur1.a+=cur2.a;//添加到cur1isAdd=true;break;}cur1=cur1.next;}if(!isAdd) {//添加到newLink中的headnewLink.addNode(cur2.a, cur2.b);}cur1=h1;cur2=cur2.next;}//將cur1各項(xiàng)添加到newLink中的head尾部while(cur1!=null) {newLink.addNode(cur1.a, cur1.b);cur1=cur1.next;}newLink.sort();//排序this.head=newLink.head;return newLink.head;}public static void main(String[] args) {System.out.println("多項(xiàng)式1:");Link link1 = new Link();link1.addNode(1, 1);link1.addNode(4, 4);link1.addNode(3, 3);link1.sort();link1.print();System.out.println();System.out.println("多項(xiàng)式2:");Link link2 = new Link();link2.addNode(2, 2);link2.addNode(4, 4);link2.addNode(3, 3);link2.sort();link2.print();System.out.println();System.out.println("多項(xiàng)式相加:");link2.addLink(link1.head);link2.print();} }

題目2:順序循環(huán)隊(duì)列的基本操作

設(shè)隊(duì)列的元素類型為char,實(shí)現(xiàn)順序循環(huán)隊(duì)列的各種基本操作的程序:
① 初始化隊(duì)列Q;
② 判斷隊(duì)列Q是否為空;
③ 入隊(duì)操作。循環(huán)調(diào)用入隊(duì)操作,將若干元素(不少于10個(gè))入隊(duì);
④ 出隊(duì)操作,出隊(duì)一個(gè)元素,并輸出該元素;
⑤ 輸出隊(duì)列元素個(gè)數(shù);
⑥ 調(diào)用入隊(duì)操作,依次入隊(duì)4個(gè)元素;
⑦ 輸出隊(duì)列序列;
⑧ 主函數(shù)通過(guò)函數(shù)調(diào)用實(shí)現(xiàn)以上各項(xiàng)操作。

⑴ 所定義的數(shù)據(jù)結(jié)構(gòu):

class qnode{char data;qnode next=null;qnode(char c){this.data=c;} }

⑵ 主要操作算法思想或算法步驟:

package edu.dgut.experiment.one;//數(shù)據(jù)結(jié)構(gòu) class qnode{char data;qnode next=null;qnode(char c){this.data=c;} } //相關(guān)操作 public class Queue {qnode head=null;qnode tail=null;int num=0;//隊(duì)列元素個(gè)數(shù)//初始化Queue(){head=tail;}//判空public boolean isEmpty() {if(head==null) return true;elsereturn false;}//入隊(duì)public void push(char c) {qnode newNode = new qnode(c);if(head==null) {head=newNode;tail=head;num++;return;}tail.next=newNode;tail=tail.next;num++;}//出隊(duì)//出隊(duì)一個(gè)元素,并輸出該元素public void pop() {if(head==null||num==0) {System.out.println("隊(duì)列為空!");return;}qnode node=head;System.out.println("出隊(duì):"+node.data);num--;//元素減一head=head.next;//后移node=null;}//隊(duì)列元素個(gè)數(shù)public int getQueueNum() {return num;}//輸出隊(duì)列序列public void print() {int i=num;int count=1;//元素個(gè)數(shù)計(jì)數(shù)器qnode node=head;while(i>0) {System.out.println("第"+count+"個(gè)元素:"+node.data);node=node.next;count++;i--;}}public static void main(String[] args) {//創(chuàng)建隊(duì)列Queue Q = new Queue();//判斷隊(duì)列是否為空if(Q.isEmpty())System.out.println("隊(duì)列為空!");elseSystem.out.println("隊(duì)列不為空!");//循環(huán)入隊(duì)15個(gè)元素for(int i=0;i<15;i++) {Q.push('a');}//出隊(duì)一個(gè)元素Q.pop();//輸出隊(duì)列元素個(gè)數(shù)System.out.println("隊(duì)列元素個(gè)數(shù)為:"+Q.getQueueNum());//入隊(duì)4個(gè)元素Q.push('A');Q.push('B');Q.push('C');Q.push('D');//輸出隊(duì)列序列System.out.println("輸出隊(duì)列序列:");Q.print();} }

總結(jié)

以上是生活随笔為你收集整理的算法与数据结构实战实验——线性数据结构实现与应用(使用java)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品久久无码中文字幕 | 亚洲免费资源 | 影音先锋国产 | 午夜偷拍视频 | 国产一国产精品一级毛片 | 99热久久这里只有精品 | 亚洲激情成人 | 亚洲一区二区三区欧美 | 日韩在线不卡一区 | 成人在线欧美 | 一级片高清| 久久老司机精品视频 | 成人在线小视频 | 中文有码av | 俺去俺来也在线www色官网 | 欧美一区二区三区在线免费观看 | 色偷偷噜噜噜亚洲男人 | jiizzyou欧美2| 豆国产97在线 | 亚洲 | 亚洲免费精品视频在线观看 | 亚洲xxxxx| 三a大片 | 欧洲免费毛片 | 精品欧美一区二区三区在线观看 | 爱情岛论坛永久入口 | 国产免费av一区二区 | av毛片在线免费观看 | 欧美亚洲另类在线 | 亚洲色图17p | 欧美高清69hd | 欧美日本成人 | 欧美日韩在线视频一区二区三区 | 九色丨蝌蚪丨成人 | 欧美午夜小视频 | 久久99综合 | 日韩一级片网站 | 日韩视频一区二区在线观看 | 宅男av | 亚洲男人天堂2023 | 国内精品视频在线观看 | 久久久久亚洲精品国产 | 成人精品视频网站 | 99热这里只有精品首页 | 欧美夜夜爽 | 五月伊人婷婷 | 婷婷六月综合网 | 亚洲免费网站在线观看 | 九九热在线免费观看 | 欧美成人天堂 | 影音先锋每日资源 | 欧美日韩一二三 | 性色视频网站 | 91视频成人| 伊人操 | 精品人伦一区二区三区蜜桃免费 | 91久久色| 亚洲一区二区三区综合 | 国产伦精品一区二区三区妓女 | 国产尤物视频 | 日韩av在线一区 | 欧美成人手机视频 | 亚洲播播| 成人片免费看 | 国产亚洲欧美一区二区三区 | 狠狠躁18三区二区一区 | 毛片在线不卡 | 无码人妻av一区二区三区波多野 | 一区二区免费 | 亚洲国产aⅴ成人精品无吗 日韩乱论 | 国产在线视频第一页 | 亚洲国产三级 | 黄色片在线观看免费 | 麻豆精品国产传媒 | 欧美日韩一区二区不卡 | www.色播| 亚洲一区二区三区人妻 | 乳孔很大能进去的av番号 | 夫妻啪啪呻吟x一88av | 男人的天堂成人 | 天天干天天摸天天操 | 2021国产精品 | 国产精品欧美久久久久久 | 日本一道本 | 97人人干| 亚洲国产精品成人综合久久久 | 日韩爱爱网站 | 日韩中文字幕不卡 | 澳门一级黄色片 | 免费av在线网 | 免费毛片一区二区三区久久久 | 亚洲熟女乱综合一区二区 | 国产又粗又硬视频 | 久久国产精品首页 | 亚洲欧美日韩综合在线 | 超碰国产一区二区三区 | 一边顶弄一边接吻 | 国产亚洲精品久久久久丝瓜 | 久久久久久久久久网 | 久久永久视频 |