template struct node
;
template class linklist //無參建構函式,建立只有頭結點的空鍊錶
linklist ( t a[ ], int n ) ; //有參建構函式,建立有n個元素的單鏈表
~linklist ( ) ; //析構函式
int length ( ) ;//求單鏈表的長度
t get ( int i ) ; //按位查詢
int locate ( t x ) ;//按值查詢
void insert ( int i, t x ) ;//插入操作
t delete ( int i ) ; //刪除操作
void printlist ( ) ; //遍歷操作
private:
node*first; // 單鏈表的頭指標 , 可以省略
};
template linklist:: linklist(t a[ ], int n)
}
②尾插法:
template linklist:: linklist(t a[ ], int n)
r->next=null; //單鏈表建立完畢,將終端結點的指標域置空
}
template linklist:: ~linklist()
}
template int linklist::length()
return count;
}
template t linklist::get(int i)
if (!p) throw "位置";
else return p->data;
}
template t linklist::locate(t x)
return 0;
}
template void linklist::insert(int i, t x)
if (!p) throw "位置";
else
}
template t linklist::delete(int i)
if (!p || !p->next) throw "位置"; //結點p不存在或結點p的後繼結點不存在
else
}
template linklist:: printlist()
}
不帶頭結點的操作
1.頭插法:
template linklist:: linklist(t a[ ], int n)
}
2.尾插法:
template linklist:: linklist(t a[ ], int n)
3.插入操作
template void linklist::insert(int i, t x)
p=first ; j=1; //工作指標p初始化
while (p && jnext; //工作指標p後移
j++;
}if (!p) throw "位置";
線性表 單鏈表
define crt secure no deprecate define crt secure cpp overload standard names 1 includeusing namespace std typedef struct node node node headpointer 頭指...
線性表 單鏈表
單鏈表結構與順序儲存結構對比 一 儲存分配方式 1 順序儲存結構用一段連續的儲存單元依次儲存線性表的資料元素 2 單鏈表採用鏈式儲存結構,用一組任意的儲存單元存放線性表的元素 二 時間效能 1 查詢 順序儲存結構o 1 單鏈表o n 2 插入和刪除 順序儲存結構o n 單鏈表找到位置後插入刪除時間o...
線性表 單鏈表
1 單鏈表的結點定義 typedef struct node slnode 2 初始化listinitiate slnode head void listinitiate slnode head 初始化 3 求當前資料元素個數listlength slnode head int listlength...