一步一步寫演算法 第二次 開始演算法 線性

2021-06-19 10:09:27 字數 1200 閱讀 4098

線性 不用解釋了吧 也就是陣列  

我們這裡用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條,這條路徑都可以達到目的地,然而我們在挑選...