十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
C語(yǔ)言是所有高級(jí)編程語(yǔ)言的入門(mén)語(yǔ)言,所以數(shù)據(jù)結(jié)構(gòu)中算法一般都使用C語(yǔ)言來(lái)表示,這樣大家都能看懂。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法是與語(yǔ)言無(wú)關(guān)的,C語(yǔ)言只是它實(shí)現(xiàn)的一種方式,不用太在乎的。建議你把C語(yǔ)言的基礎(chǔ)知識(shí)學(xué)習(xí)一下,這樣看起來(lái)就不會(huì)太累了。
資興網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
復(fù)制代碼
代碼如下:
?php
/**
*
快速排序
quick
sort
*
**/
function
sort_quick($arrData)
{
if(empty($arrData)
||
!is_array($arrData))
return
false;
$flag
=
$arrData[0];
$len
=
count($arrData)
-
1;
if($len
==
0)
return
$arrData;
//
如果只有一個(gè)數(shù)據(jù)的數(shù)組直接返回
$arrLeft
=
array();
$arrRight
=
array();
$len_l
=
0;
$len_r
=
0;
for($i
=
1;
$i
=
$len;$i++)
{
if($arrData[$i]
$flag)
{
$arrLeft[$len_l]
=
$arrData[$i];
//
小于的放左邊
$len_l++;
}
else
{
$arrRight[$len_r]
=
$arrData[$i];
//
大于等于的放右邊
$len_r++;
}
}
//
合并數(shù)組
$arrResult
=
array();
if($len_l)
{
$arrLeft
=
sort_quick($arrLeft);
for($i
=
0;$i
=
$len_l
-
1;
$i++
)
{
$arrResult[$i]
=
$arrLeft[$i];
}
}
$arrResult[$len_l]
=
$flag;
$len_l++;
if($len_r)
{
$arrRight
=
sort_quick($arrRight);
for($i
=
0;$i
=
$len_r
-
1;
$i++
)
{
$arrResult[$len_l]
=
$arrRight[$i];
$len_l++;
}
}
echo
"==
",$flag,"
==========================================br/";
echo
"data
:
",print_r($arrData),"br/";
echo
"filter
left:
",print_r($arrLeft),"br/";
echo
"filter
right:
",print_r($arrRight),"br/";
echo
"return
:
",print_r($arrResult),"br/";
return
$arrResult;
}
//$list
=
array(4,3,2,1,5,7,3,7);
$list
=
array(4,51,6,73,2,5,9,33,50,3,4,6,1,4,67);
$list
=
sort_quick($list);
echo
"pre";print_r($list);
得看你做到什么級(jí)別的數(shù)據(jù)庫(kù)了
如果類(lèi)似大型視頻網(wǎng)站, 那就得分多張表了
表結(jié)構(gòu),大致就是 記錄ID 視頻ID 用戶(hù)ID了。 這個(gè)表上要有多個(gè)索引 比如 視頻索引,用戶(hù)索引,視頻和用戶(hù)聯(lián)合索引
關(guān)于,記錄視頻關(guān)鍵記錄的話(huà), 最好在前臺(tái)用ajax的方式調(diào)用
不需要,會(huì)簡(jiǎn)單的邏輯判斷及簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)和算法就可以了。
復(fù)制代碼
代碼如下:
?php
/**
*
三元組
Triplet
*
*/
class
Triplet
{
private
$_data
=
null;
//
初始化三元組
public
function
init($val1,$val2,$val3)
{
$this-_data[0]
=
$val1;
$this-_data[1]
=
$val2;
$this-_data[2]
=
$val3;
return
true;
}
//
銷(xiāo)毀三元組
public
function
destroy()
{
unset($this-_data);
return
true;
}
//
返回第$key的值
public
function
get($key)
{
if($key
1
||
$key
3)
return
false;
return
$this-_data[$key
-
1];
}
//
設(shè)置第$key元的值為$val
public
function
put($key,$val)
{
if($key
1
||
$key
3)
return
false;
$this-_data[$key
-
1]
=
$val;
return
true;
}
//
是否按升序排序
public
function
isAscending()
{
return
($this-_data[0]
=
$this-_data[1])
($this-_data[1]
=
$this-_data[2]);
}
//
是否按降序排序
public
function
isDescending()
{
return
($this-_data[0]
=
$this-_data[1])
($this-_data[1]
=
$this-_data[2]);
}
//
獲取最大值
public
function
max()
{
return
($this-_data[0]
=
$this-_data[1])?
($this-_data[0]
=
$this-_data[2])?
$this-_data[0]
:
$this-_data[2]
:
($this-_data[1]
=
$this-_data[2])?
$this-_data[1]
:
$this-_data[2];
}
//
獲取最小值
public
function
min()
{
return
($this-_data[0]
=
$this-_data[1])?
($this-_data[0]
=
$this-_data[2])?
$this-_data[0]
:
$this-_data[2]
:
($this-_data[1]
=
$this-_data[2])?
$this-_data[1]
:
$this-_data[2];
}
}
//
$objTriplet
=
new
Triplet();
echo
"init:";var_dump($objTriplet-init(1,2,3));
echo
"br/";
echo
"get
1:";var_dump($objTriplet-get(1));
echo
"br/";
echo
"get
4:";var_dump($objTriplet-get(4));
echo
"br/";
//
false
echo
"put
3,4:";var_dump($objTriplet-put(3,4));
echo
"br/";
echo
"max:";var_dump($objTriplet-max());
echo
"br/";
echo
"min:";var_dump($objTriplet-min());
echo
"br/";
echo
"isAscending:";var_dump($objTriplet-isAscending());
echo
"br/";
echo
"isDescending:";var_dump($objTriplet-isDescending());
echo
"br/";
?
可以的,他講得很詳細(xì)(所以講的速度很慢,我都想快進(jìn)了)
他講php的視頻也很多,都是可以用得上的,其中入門(mén)到精通149講只是‘基礎(chǔ)’!
后面還有《zend.framework》,《php大型門(mén)戶(hù)網(wǎng)站靜態(tài)化》《php算法》《smarty》--(php官方推薦的模板),《mysql優(yōu)化》《php報(bào)表技術(shù)》等等。
別人的視頻我不太了解,我大概看過(guò)一兩個(gè)人的,他們講的很多函數(shù)都是一筆帶過(guò),你不會(huì)了解php內(nèi)置函數(shù)里相同功能的函數(shù),那個(gè)比較好!了解函數(shù)的功能,運(yùn)算符這些基礎(chǔ)絕對(duì)在以后幫助很大,所以韓順平的視頻還是不錯(cuò)的。