#include "mylist.h" int D2toD1(int r,int c,int NC) { return (r)*NC + c; } void D1toD2(int k, int &r, int &c, int NC) { r = k / NC; c = k % NC; } int List_Add(int List[][NI], int N, int &iList, int v[NI]) { for(int i=0; i < NI;i++) List[iList][i]=v[i]; return ++iList; } void List_Clear(int List[], int N, int &iList) { for(int i=0; i < N; i++) List[i] = 0; iList = 0; } bool List_Item(int List[][NI], int N, int iList, int node[NI], int i) { if(i<0) i = iList-1; if (i>=iList) return false; for(int j=0; j < NI; j++) node[j] = List[i][j]; return true; } int List_FindItem(int List[][NI], int N, int iList, int r, int c) { for(int i=0; i < iList; i++) if((List[i][INFO_ROW] == r) && (List[i][INFO_COL] == c)) return i; return -1; } int List_FindLowCost(int List[][NI], int N, int iList) { int low=0,iLow=-1; for(int i=0; i < iList; i++) { if (0==i) { low=List[i][INFO_F]; iLow = i; } if(List[i][INFO_F] < low) { low=List[i][INFO_F]; iLow = i; } } return iLow; } void List_Remove(int List[][NI], int N, int &iList, int i) { for(int j=i;j