三元順序表要預留存儲空間嗎
㈠ 涓夊厓緇勮〃澶村崰涓嶅崰瀛樺偍絀洪棿錛
浣犲ソ錛涓夊厓緇琛ㄥご涔熸槸鍗犲瓨鍌ㄧ┖闂寸殑錛屼竴鑸浼氬崰鍒1~2涓瀛楄妭銆
浠ュ悗鎮ㄥ傛灉鍐嶉亣鍒扮被浼肩殑闂棰橈紝鍙浠ユ寜鐓т笅闈㈢殑鎬濊礬鍘昏В鍐籌細
1銆佸彂鐜伴棶棰:寰寰鐢熸椿鍦ㄤ笘鐣屼腑錛屾椂鏃跺埢鍒婚兘澶勫湪榪欏悇縐嶅悇鏍風殑鐭涚浘涓錛屽綋鏌愪簺鐭涚浘鏀炬槧鍒版剰璇嗕腑鏃,涓浣撴墠鍙戠幇浠栨槸涓闂棰橈紝騫惰佹眰璁炬硶鍘昏В鍐沖畠銆傝繖灝辨槸鍙戠幇闂棰樼殑闃舵點備粠闂棰樼殑瑙e喅鐨勯樁孌墊х湅錛岃繖鏄絎涓闃舵碉紝鏄瑙e喅闂棰樼殑鍓嶆彁銆
2銆佸垎鏋愰棶棰:瑕佽В鍐蟲墍鍙戠幇鐨勯棶棰橈紝蹇呴』鏄庣『闂棰樼殑鎬ц川錛屼篃灝辨槸寮勬竻妤氭湁鍝浜涚煕鐩俱佸摢浜涚煕鐩炬柟闈錛屼粬浠涔嬮棿鏈変粈涔堝叧緋,浠ユ槑紜鎵瑕佽В鍐崇殑闂棰樿佽揪鍒頒粈涔堢粨鏋滐紝鎵蹇呴』鍏峰囩殑鏉′歡銆佸叾闂寸殑鍏崇郴鍜屽凡鍏鋒湁鍝浜涙潯浠,浠庤屾壘鍑洪噸瑕佺殑鐭涚浘銆佸叧閿鐭涚浘涔嬫墍鍦ㄣ
3銆佹彁鍑哄亣璁:鍦ㄥ垎鏋愰棶棰樼殑鍩虹涓婏紝鎻愬嚭瑙e喅闂棰樼殑鍋囪,鍗沖彲閲囩敤鐨勮В鍐蟲柟妗,鍏朵腑鍖呮嫭閲囧彇浠涔堝師鍒欏拰鍏蜂綋鐨勯斿緞鍜屾柟娉曪紝浣嗘墍鏈夎繖浜涘線寰涓嶆槸綆鍗曠幇鎴愮殑錛岃屼笖鏈夊氱嶅氭牱鐨勫彲鑳姐備絾鎻愬嚭鍋囪炬槸闂棰樿В鍐崇殑鍏抽敭闃舵碉紝姝g『鐨勫亣璁懼紩瀵奸棶棰橀『鍒╁緱鍒拌В鍐,涓嶆g『涓嶆伆褰撶殑鍋囪懼垯浣塊棶棰樼殑瑙e喅璧板集璺鎴栧煎悜姝ч斻
4銆佹牎楠屽亣璁:鍋囪懼彧鏄鎻愬嚭n縐嶅彲鑳借В鍐蟲柟妗,榪樹笉鑳戒繚璇侀棶棰樺繀瀹氳兘鑾峰緱瑙e喅錛屾墍浠ラ棶棰樿В鍐崇殑鏈鍚庝竴姝ユ槸瀵瑰亣璁捐繘琛屾楠屻備笉璁哄摢縐嶆楠屽傛灉鏈鑳借幏寰楅勬湡緇撴灉錛屽繀欏婚噸鏂板彟鎻愬嚭鍋囪懼啀榪涜屾楠岋紝鐩磋嚦鑾峰緱姝g『緇撴灉錛岄棶棰樻墠綆楄В鍐熾
㈡ 利用三元組存儲任意稀疏矩陣時,在什麼條件下能節省存儲空間 簡答題
若一個稀疏矩陣有T個非零元素,則需要T+1行的三元組來表示稀疏矩陣.一般對於M*N的矩陣來說,只要滿足3(T+1)<=M*N 這個條件,使用三元組存儲可以節省空間.
㈢ C語言(數據結構)順序表的初始化
肯定是要分配空間的,你第一個程序的initsqlist函數中聲明的結構體指針(Sqlist *a;),而第二個程序的initsqlist函數中是聲明的結構體(Sqlist a;),前者只是在計算機內存中聲明一個指針,而不會給這個指針分配內存空間,所以你初始化的時候要給這個指針用malloc函數分配空間,而後者是實實在在的定義了一個結構體,在內存在不僅僅是一個地址,還分配了空間,就像你定義了一個數組一樣,已經在內存存在空間了,不需要再分配了。
總體來說就是你定義的是指針的話就要分配空間。
你的2個程序都是對的,但是一般用第一種定義鏈表!!!