第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

數(shù)據(jù)結(jié)構(gòu)中的線性表的初始化操作是什麼?

數(shù)據(jù)結(jié)構(gòu)中的線性表的初始化操作是什麼?

數(shù)據(jù)結(jié)構(gòu)中的線性表的初始化操作是什麼?
查看完整描述

1 回答

?
慕村225694

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊

 初始化就是建立一個(gè)空線性表,那直接把長度置為0就行了。
  1 /* 初始化順序線性表 */
  2 Status InitList(SqList *L)
  3 {
  4 L->length=0;
  5 return OK;
  6 }
  因?yàn)橐跏蓟獙€性表本身進(jìn)行操作,所以不能用值傳遞。值傳遞不會(huì)改變實(shí)參的值嘛。地址傳遞的話呢,實(shí)際上在函數(shù)內(nèi)部執(zhí)行了這么一個(gè)操作:L = &L. 所以操作函數(shù)內(nèi)部的L,也就相當(dāng)于操作外部的線性表L。其實(shí)地址傳遞也是值傳遞。不過這個(gè)值是地址而已。
  就是說,需要修改表的就傳指針,不需要修改表的傳值就行了。那補(bǔ)上一個(gè)完整的可運(yùn)行的程序。
  01 #include "stdio.h"
  02
  03 #define OK 1
  04 #define ERROR 0
  05 #define TRUE 1
  06 #define FALSE 0
  07
  08 #define MAXSIZE 20 /* 存儲(chǔ)空間初始分配量 */
  09 typedef int ElemType; /* ElemType類型根據(jù)實(shí)際情況而定,這里假設(shè)為int */
  10 typedef int Status; /* Status是函數(shù)的類型,其值是函數(shù)結(jié)果狀態(tài)代碼,如OK等 */
  11
  12 typedef struct
  13 {
  14 ElemType data[MAXSIZE]; /* 數(shù)組,存儲(chǔ)數(shù)據(jù)元素 */
  15 int length; /* 線性表當(dāng)前長度 */
  16 }SqList;
  17
  18 /* 初始化順序線性表 */
  19 Status InitList(SqList *L)
  20 {
  21 L->length=0;
  22 return OK;
  23 }
  24
  25 int main()
  26 {
  27 SqList L;
  28 ElemType e;
  29 Status i;
  30
  31 i=InitList(&L);
  32 printf("初始化L后:L.length=%d\n",L.length);
  33 }
  程序運(yùn)行結(jié)果:
  1 初始化L后:L.length=0
  2
  3 Process returned 22 (0x16) execution time : 0.072 s
  4 Press any key to continue.
  有個(gè)問題,在函數(shù)內(nèi)部 L->length=0; 使用箭頭,而在外面調(diào)用的時(shí)候 L.length 卻用實(shí)心點(diǎn),兩者有啥區(qū)別嗎?
  這個(gè)很基礎(chǔ)嘛。。。在函數(shù)內(nèi)部,傳遞的參數(shù)是 *L,那么L就是指針。指針需要用->指向成員。而在外部的L是實(shí)體對象,實(shí)體對象則用實(shí)心點(diǎn)來指向成員嘛。
  OK,線性表的初始化就這么簡單。



查看完整回答
反對 回復(fù) 2018-12-20
  • 1 回答
  • 0 關(guān)注
  • 1169 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號