您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
01 訂閱轉換服務地址是什么數據結構(設計算法,將一個無向圖的鄰接矩陣轉換為鄰接表.求大神。這是數據結構里的問題。)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-06-04 10:27:24【】1人已围观
简介設計算法,將一個無向圖的鄰接矩陣轉換為鄰接表.求大神。這是數據結構里的問題。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;
很赞哦!(1838)
相关文章
- 03 粉絲交訂金買車事件(你們人生第一臺屬于自己的愛車,是你最開始最期待的嗎?)
- 03 紫金論壇買粉絲買粉絲(你們雙十一都買了些什么)
- 03 粉絲買車北京奔馳(什么型號的奔馳最好值得入手?其最大優惠度可以為多少?)
- 01 youtube視頻下載器教程最新版本并恢復(下載油管視頻提示找不到文件)
- 03 粉絲上門買小狗(小紅書多少粉絲廠家會上門)
- 03 糧油貿易公司利潤大嗎(經貿公司和貿易公司有什么區別嗎?)
- 01 youtube視頻下載器教程步驟詳細講解(ios快捷指令油管視頻下載ssl錯誤)
- 01 youtube視頻下載器推薦碼分享wifi(隨身高清記錄 風云客Compass攝像機試玩)
- 01 youtube視頻下載器教程已更新微博知乎哪個(有沒有抖音剪輯培訓教程,還有抖音書單培訓教程,書單文案如何原創?)
- 03 紅了耳朵網名什么意思(女名網名)
热门文章
站长推荐
03 糧食進出口貿易公司賬務處理(物流公司的6大成本項目分別有哪些)
03 粉絲來找我買衣服(快手我才2000多粉絲有人找我帶貨,給我寄樣品不要我錢,咋看上我的,是騙人的嗎?)
03 粉絲的買鞋經歷(聰哥,做了一個叫做林英聰的買粉絲)
01 youtube視頻下載器推薦手機安卓(怎么在youtube上下載視頻)
03 粉絲大咖幫忙買車(<精選>什么是微商啊怎么做微商)
01 youtube視頻下載器教程步驟ppt模板(怎么將YouTube視頻嵌入到PPT PowerPoint中)
01 youtube視頻下載器推薦知乎網頁版下載(python是個什么東西)
01 youtube視頻下載器教程大全pdf版(搜索 是什么意思)