線性 不用解釋了吧 也就是陣列
我們這裡用vector 實現一遍
#pragma once
template
class myvector
;#include "myvector.h"
#include
using namespace std;
template
myvector::myvector(void)//類模板函式需要加新增
}template
myvector::~myvector(void)//析構
a=a-1;
}template
void myvector::printmyself() //列印出全部內容
cout<
void myvector::insertend(t data)
else
delete pt;//刪除原來的記憶體
*(p+a)=data;//尾部新增乙個元素
a=a+1;
b=b+1;}}
template
void myvector::insert(t data,int x)
if (a
*(p+x)=data;//在恰當的位置插入元素
a++;//有效元素增加
} else
*(p+x)=data;
for (int j= x+1; j
delete pt;
a++;
b++;}}
template
void myvector::myreverse()
}template
int myvector::find(t data) //挨個查詢 }
return -1;//返回-1,沒有找到
}template
void myvector::sort()}}
}template
void myvector::change(int x,t data)//修改
*(p+x)=data;
}template
int myvector::binsearch(t data)
else if ( data < p[zhong])
else if (data >p[zhong])
}return -1;//沒有找到
}void main()
一步一步寫演算法(之 A 演算法)
在前面的部落格當中,其實我們已經討論過尋路的演算法。不過,當時的示例圖中,可選的路徑是唯一的。我們挑選乙個演算法,就是說要把這個唯一的路徑選出來,怎麼選呢?當時我們就是採用窮盡遞迴的演算法。然而,今天的情形有點不太一樣了。在什麼地方呢?那就是今天的路徑有n條,這條路徑都可以達到目的地,然而我們在挑選...
一步一步寫演算法(演算法總結)
1 排序演算法 快速排序 合併排序 堆排序選擇排序 基數排序 氣泡排序 插入排序 希爾排序 鍊錶排序 2 資料結構 線性佇列 線性堆疊 單向鍊錶 雙向鍊錶 迴圈單向鍊錶 排序二叉樹 插入,刪除上 中 下 儲存和載入 雜湊表 雜湊二叉樹 3 圖 圖結構圖建立 圖的新增 刪除 圖的儲存 prim演算法 ...
一步一步寫演算法(之 A 演算法)
在前面的部落格當中,其實我們已經討論過尋路的演算法。不過,當時的示例圖中,可選的路徑是唯一的。我們挑選乙個演算法,就是說要把這個唯一的路徑選出來,怎麼選呢?當時我們就是採用窮盡遞迴的演算法。然而,今天的情形有點不太一樣了。在什麼地方呢?那就是今天的路徑有n條,這條路徑都可以達到目的地,然而我們在挑選...