導航:首頁 > 源碼編譯 > 計算線性單鏈表的長度的演算法

計算線性單鏈表的長度的演算法

發布時間:2023-03-12 00:57:11

『壹』 怎樣寫出計算單向鏈表長度的演算法

定義一個記錄長度的變數length 再定義一個指針指向頭結點 然後判斷下一個節點是否為空 不為空length++ 循環判斷 直到定義哪個指針指向的對象為空

『貳』 【數據結構】求線性表的長度和線性表上的查找演算法

/* 順序存儲類型*/
typedef struct
{ ElemType data[MAXSIZE]; /*存放線性表的數組*/
int length; /* length是順序表的長度*/
}SqList; SqList L;
/* 求順序表長度*/
int ListLength(SqList L)
{return(L.length);}
/* 給定序號從順序表中查找元素*/
void ListGet(SqList L ,int i)
{ if(L.length==0) printf("順序表空\n");
else if(i<1||i>L.length) printf("查找的位置不正確\n");
else printf("順序表中第%d個元素的值為:%d\n",i,L.data[i-1]);
}
/* 從順序表中查找與給定元素值相同的元素在順序表中的位置*/
int ListLocate(SqList L, ElemType x)
{int i=0;
while(i<L.length && L.data[i]!=x)
i++;
if (i<L.length) return (i+1);
else return 0;
}

『叄』 寫出在帶頭結點的動態單鏈表結構上求線性表的長度的演算法: int LengthList( Node *L ) 謝謝!!

int LengthList( Node *L )

{
Node *p = L->next; //將p初始指向鏈表中第一個節點的地址

int length = 0;

while(p) //當p指向的地址不為空時,繼續循環計算長度

{

++length;

p = p->next; //鏈表長度加1後,將p指向其後繼節點地址

}

return length;

}

『肆』 試寫一演算法在帶頭結點的單鏈表結構上實現線性表操作Length(L)。下面各個步驟的解釋要詳細

intListLength_L(LinkList &L)
{
int i=0;//i存儲鏈表長度,

初始為0
LinkList p=L;//p為鏈表的指針,

初始為頭指針,指向頭結點
if(p) p=p-next;//如果p指向的頭結點不為空,

p指向帶數據的第一個結點
while(p){//如果p非空,i長度加1,且指向下一個結點
p=p->next;


i++;}

return i;

//返回i,即鏈表的長度
}。

『伍』 求單鏈表的長度

struct node {
int data;
struct node *next;
} ;

創建單鏈表後,最後一個結點的next是NULL,據此來遍歷表,獲得長度。

void get_len( struct node *head )
{
struct node *p=head->next ;
int len=0;
while ( p )
{
len++;
p=p->next;
}
head->data=len ; //存儲長度到頭結點
}

閱讀全文

與計算線性單鏈表的長度的演算法相關的資料

熱點內容
如何更改app後台 瀏覽:710
圖形化編程有面試題嗎 瀏覽:678
怎樣將文件夾中的文件上移 瀏覽:917
如何在盒馬app更換盒馬門店 瀏覽:747
淘寶壓縮圖教程 瀏覽:237
谷歌瀏覽器安卓怎麼用插件 瀏覽:78
商業源碼網vipym 瀏覽:598
使用阿里雲伺服器怎麼選操作系統 瀏覽:388
雙付天下app下載哪裡靠譜 瀏覽:245
pdf轉化圖片格式 瀏覽:762
如何向實體店推廣app 瀏覽:647
g32斜進刀反螺紋編程 瀏覽:542
android獲取已安裝的apk 瀏覽:811
app圖標如何放一起 瀏覽:720
雲伺服器設置通過ip訪問網站 瀏覽:913
生命代源碼女主角 瀏覽:740
空調扇加壓縮機 瀏覽:310
linux鏡像寫入 瀏覽:479
多媒體卡文件夾 瀏覽:30
java類轉map 瀏覽:856