您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
01 訂閱轉換服務地址是什么數據結構(設計算法,將一個無向圖的鄰接矩陣轉換為鄰接表.求大神。這是數據結構里的問題。)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-05 16:30:40【】0人已围观
简介設計算法,將一個無向圖的鄰接矩陣轉換為鄰接表.求大神。這是數據結構里的問題。typedefstruct{intvertex[m];intedge[m][m];}gadjmatrix;typedefst
設計算法,將一個無向圖的鄰接矩陣轉換為鄰接表.求大神。這是數據結構里的問題。
typedef struct { int vertex[m]; int edge[m][m];}gadjmatrix;
typedef struct node1{ int info;int adjvertex; struct node1 *nextarc;}glinklistnode;
typedef struct node2{ int vertexinfo;glinklistnode *firstarc;}glinkheadnode;
void adjmatrixtoadjlist(gadjmatrix g1[ ],glinkheadnode g2[ ])
{
int i,j; glinklistnode *p;
for(i=0;i<=n-1;i++) g2[i].firstarc=0;
for(i=0;i<=n-1;i++) for(j=0;j<=n-1;j++)
if (g1.edge[i][j]==1)
{
p=(glinklistnode *)malloc(sizeof(glinklistnode));p->adjvertex=j;
p->nextarc=g[i].firstarc; g[i].firstarc=p;
p=(glinklistnode *)malloc(sizeof(glinklistnode));p->adjvertex=i;
p->nextarc=g[j].firstarc; g[j].firstarc=p;
擴展資料:
數據結構算法注意事項。
算法的設計取決于數據(邏輯)結構,而算法的實現依賴于采用的存儲結構。數據的存儲結構實質上是它的邏輯結構在計算機存儲器中的實現,為了全面的反映一個數據的邏輯結構,它在存儲器中的映象包括兩方面內容,即數據元素之間的信息和數據元素之間的關系。
不同數據結構有其相應的若干運算。數據的運算是在數據的邏輯結構上定義的操作算法,如檢索、插入、刪除、更新和排序等。
數據的運算是數據結構的一個重要方面,討論任一種數據結構時都離不開對該結構上的數據運算及其實現算法的討論。
數據結構不同于數據類型,也不同于數據對象,它不僅要描述數據類型的數據對象,而且要描述數據對象各元素之間的相互關系。
數據結構中綴表達式3+(5-2)*7,轉換成等價的后綴表達式為
數據結構中綴表達式3+(5-2)*7,轉換成等價的后綴表達式為
后綴表達式:不包含括號,運算符放在兩個運算對象的后面,所有的計算按運算符出現的順序,嚴格從左向右進行
根據定義,可以知道后綴表達式為:
3 5 2 - 7 * +
關于數據結構(Pascal)中綴表達式轉后綴表達式var
ni,tuo:array[0..10000] of char; { ni是描述入棧,tuo是描述出棧}
nd,td,i,j,k,l:longint; { nd是ni的棧頂,td是tuo的棧頂}
tp:char; { tp讀入字符}
fh:array[0..3,1..2] of char; { fh用于判斷符號的優先級}
function fhpd(ch:char):integer; { 判斷符號優先級}
var i,j:integer;
begin
for i:=0 to 2 do
for j:=1 to 2 do
if ch=fh[i,j] then exit(i);
exit(-1);
end;
begin
fillchar(ni,sizeof(ni),' ');
fillchar(tuo,sizeof(tuo),' ');
fh[1,1]:='+';fh[1,2]:='-';fh[2,1]:='*';fh[2,2]:='/';fh[0,1]:='('; { 全部初始化}
read(tp);
while tp<>'.' do { 當讀入“.”說明中綴表達式讀入完畢}
begin
if (tp=')') then { 如果是‘)’就將最近的一個‘(’之間的符號,全部倒入tuo中,并將‘(’和‘)’去掉}
begin
while ni[nd]<>'(' do
begin
inc(td);
tuo[td]:=ni[nd];
ni[nd]:=' ';
if not(nd=1) then dec(nd); { 防止棧底溢出}
end;
ni[nd]:=' '; { 去掉‘(’}
dec(nd);
end
else begin
if (tp in ['0'..'9']) then begin inc(td);tuo[td]:=tp;end else { 如果是數字,則之間置入tuo中}
begin
if (ni[1]=' ')and(fhpd(tp)<>-1) then begin nd:=1;ni[nd]:=tp; end else { 如果棧為空}
begin
if (ni[1]<>' ')and(fhpd(tp)<>-1) then { 如果棧不為空,且tp為合法符號}
begin
if ((fhpd(tp)>fhpd(ni[nd]))or(tp='(')) then { 如果tp大于ni的棧頂符號,或者tp是‘(’}
begin
inc(nd);
ni[nd]:=tp; { 直接置入ni棧中}
end
else
begin
while (nd<>0)and(not((fhpd(tp)>fhpd(ni[nd])))) do
{ 如果tp小于ni的棧頂符號,就將大于tp的符號倒入tuo中,直到ni的棧頂小于等于tp,就將tp加入ni}
begin
inc(td);
tuo[td]:=ni[nd];
dec(nd);
end;
inc(nd);
ni[nd]:=tp;
end;
end;
end;
end;
end;
read(tp);
end;
while nd<>0 do { 最后將所用ni棧中的符號全部按照正規操作模式,倒入tuo中}
begin
inc(td);
tuo[td]:=ni[nd];
dec(nd);
end;
for i:=1 to td do write(tuo[i],' '); writeln; { 從tuo的棧底開始輸出字符}
readln;readln;
end.
數據結構中綴式中綴表達式改后綴表達式并求值搞兩個棧,一個存數字,一個存符號,處理一下優先級就可以了。
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<string>
int a[10][10]={ { 3,2,2,3,3},{ 3,3,2,3,3},{ 2,2,2,1,0},{ 3,3,0,3,3},{ 2,2,2,0,1}};
char t[100];
using namespace std;
struct node
{
int h;
char c;
node *p;
};
int pd(char ch)
{
if((ch=='+')||(ch=='-'))return 0;
if((ch=='*')||(ch=='/'))return 1;
if(ch=='(')return 2;
if(ch==')')return 3;
if(ch=='@')return 4;
}
int main()
{
node *r,*q;
int i,l,k=0,v,w,o;
string s;
cin>>s;
l=s.length();
s[l]='@';
l++;
q=new node;
q->c='@';
for(i=0;i<=l-1;i++){
if((s[i]>='0')&&(s[i]<='9')){
t[k]=s[i];
k++;
if((s[i+1]<'0')||(s[i+1]>'9')){
t[k]=' ';
k++;
}
買粉絲ntinue;
}
w=pd(s[i]);
v=pd(q->c);
switch (a[v][w]){
case 1:
q=q->p;
break;
case 2:
r=q;
q=new node;
q->c=s[i];
q->p=r;
break;
case 3:
r=q;
q=new node;
q->c=s[i];
q->p=r;
while(a[v][w]==3){
t[k]=q->p->c;
很赞哦!(99)
相关文章
- 怎么找youtube鏈接(youtobe視頻列表怎么調出來)
- 03 2020上半年中國對外貿易數據(2022上半年外貿進出口展現出較強韌性,這說明了什么?)
- 怎么登錄youtube手機版(youtube登錄自己的賬號安全嗎)
- 03 1992年上海外灘(為什么用上海灘代表上海?)
- 03 2013年九月第一個自由貿易區是什么地方(歷史上大遷徙都有哪些?)
- 怎么才能看油管(油管怎么看不了18)
- 03 2005對外進出口貿易總額(2006年我國對外貿易總額和外匯儲備世界排名是??)
- 怎么注冊國際版tiktok安卓(國際抖音tiktok怎么注冊?)
- 03 2021年7月外貿進出口(注意!12月這些外貿新規將影響你的業務)
- 怎么找回facebook賬號密碼(facebook找回密碼為什么不能選擇手機短信而是郵箱) - 副本
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片
职业:程序员,设计师
现居:黑龙江省齐齐哈尔昂昂溪区
工作室:小组
Email:[email protected]
热门文章
站长推荐
怎么搜索youtube作者(怎樣通過youtube學習?了解更大的世界)
怎么才能用Tiktok(在中國tiktok怎么才能用?)
03 2021年我國對外貿易總額首次超過美國(2018年中國石油對外依存度是多少?)
03 2022年7月進出口貿易數據(7月我國國際貨物和服務貿易進出口同比增11%,這一數字反映了哪些問題?)
03 2018年上半年杭州市的對外貿易為(GDP前十強城市將有新變局)
怎么才能登陸油管(下載了海鷗怎么登錄油管)
怎么批量注冊tiktok賬號(Tiktok小店如何入駐?開店后如何批量鋪貨?)
03 2018年華為海外營收(華為5G手機美國配件僅占1.5%,我們離純國產還有多遠?)