圖像的儲存

圖像的儲存

對於圖像的儲存,有兩種方法,一是通過二維數組存儲,當然這種最簡單,只需要記錄每一個點的權值就行啦!但是呢,這種方法儲存不了太大的圖像,因爲數組開的不可以太大。所以,就有了第二種方法,就是用鄰接表(就是鏈表啦)儲存圖像(鏈表還沒搞明白),鄰接表裏面存有指向頂點的值,指向下一個節點的值,還有就是權值啦。(反正就是搞不懂,哼!發火
代碼如下:
#include<bits/stdc++.h>
using namespace std;
const int maxn=10010;
int map[maxn][maxn];
//圖的常用的存儲方式兩種 一種採用鄰接矩陣(簡單的說就是採用二維數組直接存儲)
//另一種採用臨界表(實際上採用鏈表的存儲方式)
const int maxn = 5010;
struct Node{
    int next;            //指向下一個節點 
    int to;             //指向的頂點 
    int value;           //邊權值 
}A[maxn<<1];
int head[maxn],node;     //記錄頭結點 記錄節點的數目 
void add(int u,int v,int value){
    A[node].to=v;
    A[node].value=value;
    A[node].next=head[u];
    head[u]=node++;
}
void init(){
    node=0;
    memset(head,-1,sizeof(head));
}
void Find(int u){
    for(int i=head[u];i!=-1;i=A[i].next){
        A[i].to;A[i].value;Find(A[i].to);
    }
}
int main()
{
	//給出n個頂點 m條邊 以及每條邊的權值  
    int n,m,u,v,value;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;++i){
    	u v valu
    	map[u][v]=value;
        scanf("%d%d%d",&u,&v,&value);
        add(u,v,value);add(v,u,value);
    }
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章