999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

鏈式存儲結構在《數據結構》中的教法

2011-12-31 00:00:00闞娜
大觀周刊 2011年10期

摘要:鏈式存儲結的特色--指針以其靈活性而不易被學生掌握,針對諸如指針變量賦值運算的難點,提出新的教法與同仁共勉。

關鍵詞: 鏈式存儲結 指針變量 賦值運算

Teaching Methods of Linked Structure in \"Date structure\"

Kan Nan

(Department of Information Engineering, WuHan Vocational College of Information Transmission Technology, Nan Kan, 430074 , China)

Abstract:Pointer is a difficulty for students to grasp in linked structure; there is one question about it. For example assignmentoperation about pointer variable,,Based on this, author discusses new teaching methods.

Keyword: linked structure; pointer variable; assignment operation

《數據結構》主要研究信息的邏輯結構及其基本操作在計算機中的表現和現實,是計算機專業的核心課程。鏈式存儲作為該課程討論的重要的儲結結構之一,是學生應掌握程序設計技巧的基礎。

從進幾年《數據結構》課程的教學過程反映出,當討論鏈式存儲結構時學生出現理解上的“瓶頸”現象。問題集中體現在:指針變量與指針賦值運算。下面就這一問題談談教法與感受,希望與同仁共勉。

首先我們引入兩個概念 “菜籃子”和“菜”而且要分清它們。 說到賦值語句,我們先來回顧一下賦值運算的實質。盡管不同語句的賦值語句有不同的語法結構,但大都數語句所定義的語意大體相同。下面以C語言為例說明:

某程序段中語句x=y;x和y是變量名,無論他們是數據類型,每一名字有兩個“身份”:一方面該變量名代表一定的存儲單元,另一方面代表該存儲單元里的內容,以該單元的內容為值。賦值語句x=y的意義是:“把y的值送入x所代表的存儲單元”,也就是說,賦值語句中賦值號“=”左右兩邊的變量名扮演著兩種不同的角色。為了區別一個變量名的兩種“身份”我們把一個名字所代表的那個存儲單元稱為該名的左值,通俗地說是“菜籃子”用來裝菜的;把一個名字所代表的的單元內容(值)稱為該名的右值,對應的就是“菜”。當變量名出現在等號左邊就是“菜籃子”出現在等號右邊就是“菜”,賦值運算就是把“菜”往“菜籃子”里放(注意這兒的“菜籃子”的特殊性:最后一次方的“菜”就覆蓋“菜籃子”里以前放的“菜”,且“菜籃子”里只能放一個“菜”)。

對變量名的雙重性有了以上的深刻認識在來討論指針變量的賦值運算學生就恍然大悟了。

例1: 有定義如下的雙向鏈接表

struct dnode {elemtp data;

struct dnode *prior, *next;}*p,*r;如圖1所示,在雙向鏈接表中的結點之前插入一個結點r使線性表(a1…ai,ai+1…an)變成(a1…ai,b,ai+1…an)。操作語句如下;

{1}r->prior=p->prior;

{2}r->next=p;

{3}p->prior->next=r

{4}p->prior=r;

以上4條語句的語義分別是:

{1}把數據元素ai所在的結點地址(在p的prior域中放著的地址值,此時表現為變量p->prior所代表的內容,以后簡稱右值,也就是我們所說的“菜”)放到結點r 的prior域中(此時r->prior應以其所代表的存儲單元的身份出現,即左值,也就是“菜籃子”)這就是把變量p->prior所代表的存儲單元的地址值賦值給變量r->prior所代表的存儲單元,即把“菜”放進“菜籃子”,線1所代表的鏈建成了。注意千萬不能把該語句中理解為其左值,我們是不可能把“菜籃子”放進“菜籃子”的

{2}把數據元素ai+1所在結點的地址(是變量p代表的內容,即p的右值)放到結點r 的next域(是變量r->next代表的存儲單元,即左值)。變量p的值作為“菜”放進了變量r->next這個“菜籃子”,線2所代表的鏈建成了。

{3}把被插入數據元素b所在的結點的地址(該地址作為值在r所代表的存儲單元中放著,即r右值)放到數據元素ai所在的結點next域中,而數據元素ai所在的結點就是p->prior(因為數據元素ai所在的結點地址在p->prior中放著,此時取其右值),那么數據元素ai所在的結點next域中就是p->prior->next這個“菜籃子”,此時語句實現使b變成ai的后續,經賦值后原鏈5自然斷掉。

{4}把被插入數據元素b所在的結點的中的地址,放到數據元素ai+1的地址,放到數據元素ai+1所在結點prior域中,變量r的值再次為“菜”放入了變量p->prior“菜籃子”,就使b稱為ai+1的前驅,經賦值后原鏈自然斷掉。

以上4條語句{1},{2}的次序可以調換,{3},{4}的次序不可以調換,而且{1},{3}語句必須在{4}之前,只要學生對賦值語句能有以上的深刻理解,其原因就不言而喻了。再復雜的鏈式存儲結構及其操作一般都涉及改變鏈的狀態,其無非就是通過賦值語句來改變鏈,在操作中分清變量“菜籃子”和“菜”的雙重角色,對學生掌握鏈式存儲結構起著重要的作用。

參考文獻:

[1]Horowitz ES. Fundamentals of Data Structures. Pitmen Publishing Limited, 1976

[2]陳火旺。編譯原理 北京:國防工業出版社,1984

主站蜘蛛池模板: 亚洲成人一区在线| 老司机午夜精品网站在线观看| 国产三级精品三级在线观看| 欧美精品成人一区二区视频一| 91视频区| 久久人人妻人人爽人人卡片av| 黄色在线不卡| 国产午夜福利亚洲第一| 国产微拍一区二区三区四区| m男亚洲一区中文字幕| 国产超薄肉色丝袜网站| 国产乱人伦精品一区二区| 啪啪永久免费av| 国产成人精品三级| a免费毛片在线播放| 亚洲成人免费看| 国产免费久久精品99re丫丫一| 成人精品视频一区二区在线 | 日韩色图区| 国产精品男人的天堂| 欧美国产精品不卡在线观看| 免费高清毛片| 色悠久久综合| 亚洲一级毛片在线播放| 免费视频在线2021入口| 免费啪啪网址| 狠狠色综合久久狠狠色综合| 精品1区2区3区| 黄色网页在线播放| 久久久久亚洲AV成人网站软件| 国产在线精品美女观看| 色一情一乱一伦一区二区三区小说| 九色91在线视频| 久久这里只有精品国产99| 国产精品欧美在线观看| 亚洲大学生视频在线播放| 欧美黄色网站在线看| 国产99精品久久| 国产精品第| 国产小视频免费观看| 精品综合久久久久久97超人该| 精品视频在线观看你懂的一区| 亚洲人成网址| 日本成人不卡视频| 亚洲成人精品在线| 国内精品伊人久久久久7777人| 国产美女免费网站| 亚洲成a人片7777| 国产免费人成视频网| 国产一国产一有一级毛片视频| 国产成人免费手机在线观看视频 | 在线中文字幕日韩| 国产综合欧美| 69免费在线视频| 久久综合伊人 六十路| 国产成人在线小视频| 久久 午夜福利 张柏芝| 免费国产高清视频| 亚洲精品无码高潮喷水A| 九九热精品免费视频| 97亚洲色综久久精品| 国产91小视频| 亚洲男女在线| 久久精品丝袜高跟鞋| 亚洲区一区| 亚洲国产在一区二区三区| 熟妇丰满人妻| 91黄视频在线观看| yy6080理论大片一级久久| 高潮毛片无遮挡高清视频播放 | 欧美中出一区二区| 欧美成人日韩| 亚洲国产日韩欧美在线| 免费99精品国产自在现线| 青青青国产在线播放| 91尤物国产尤物福利在线| 亚洲精品国产日韩无码AV永久免费网| 亚洲啪啪网| 麻豆精品在线视频| 欧洲欧美人成免费全部视频| 精品伊人久久久香线蕉| 99久久精品国产精品亚洲|