




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
[引例輸入5個學生的信息,要求將這些學生按平均分方法三:使用結構體數(shù)組structstruct{charname[20];charno[7];int}結構 ,需要從以下幾方面加以考慮structstruct結構類型標識{結構成員┆結構成員如 一個日期結構類型date,含三個整型成員structstruct{intmonth;intday;intyear;
{charcharsex;intage;date一個結構類型的變structan結個結構類型的成員.p1,先類型再定義變{{charcharsex;intage;structdate}p1,{charname[15];charsex; structdate}p1,類型的同時定義變 無類型名變初始化struct說明:對結構變量初始化時將其各說明:對結構變量初始化時將其各 charsex; }p說明:結構數(shù)組初始化時按數(shù)組初始化說明:結構數(shù)組初始化時按數(shù)組初始化原則所有元素組織在一對花括號中,元素間逗號分隔;同時每個元素又按結構 {charname[15];charsex; }p[10]={{"FangMin",'F',24},{"Fang"Fang"FangMin""FangHua"1 結構體變量中成員的方式為結構變量名.成員 2、通過指向結構的指針引其成員(*(*指向結構的指針).成員指向結構的指針->成員如,假設有定p1,*p=&p1;則可如下結構成strcpystrcpy(,"Fangp->birthday.month=因為birhday是結構類型的一個成員,所以通過結構指針p該成員的方式為p-irhday;又因為birhdy這個成員本身所屬類型又是另一個結構類型de,所以其成員month,應使用:p-使用注意 p;則以下表達皆不允許如果成員本身又屬一個結構體類型,則要用若干個成員運算符,逐級地找到最低一級成員。只能對最低級的成員進行#include"iostream.h"#defineN5struct{charname[20];charno[7];doubleChinese,English,math,void{intStudents[N],t;}{}{cout<<s[i].name<<""<<s[i].no<<""cout<<""<<s[i].English<<""<<s[i].math<<"}}需一個如下結構類型struct{charint}然后定義一個長度為3#include#include#defineNstruct
思考:若定義為char*name,程序又將如何改變 charint
將所有候選人的得票數(shù)初始化為void charp[3]={{"zhao",0},{"qian",0},{"sun",0}};int }
strcmp(pname,p[j].name)==0}結構的應用——鏈鏈表是一種常見的重要的數(shù)據(jù)結構,是動態(tài)地進行分結點:由需要處理的實際數(shù)據(jù)和下一結點的 ? 數(shù)據(jù)域? 數(shù)據(jù)域指針DABC
struct{chardata;//datastructnode
structnodestruct{intnum;floatscore;structstudent*next在鏈表中一個新的結點①使用mallocstructnode*pp尚沒明確的指向單元p=(structnode 關于函數(shù)malloc其作用是在內(nèi)存的動 區(qū)中分配一個長度sizeof(nodep=newp=new delete p-﹥data p=new//或p=(structnode*)malloc(sizeof(structq=new
pp域,且其類型為整型的單鏈表。 ③把newnode所指向的結點到鏈表中2、3步共nnext域置空(NULL#include"iostream.h"structnode{intstructnodestructnode*create(intn{structnode*head=NULL;structnode*tail,*newnode;intx;for(inti=0;i<n;{newnode=newnode
為newnode
tail=}
newnode}voidmain({structnode*head;intn;cout<<"請輸入初始鏈表結點數(shù)head=} 地址,所以只要知該鏈表的頭指針,即可依次對每個結點進 結點的數(shù)據(jù)域,直到p的值為NULLvoidprint(structnode{structnode{p=p-}}
2 count(structnode{structnode*p=head;intn=0;while(p!={p=p-}}【例6.6】在鏈表中按序號查找第i鏈表的鏈進行查找。僅當j==i并且p!=NULL時查找成功,否則查voidsearch(structnode*head, intstructnode*p=head;cout<<"illegal while(j!=i&&p!={p=p- }if(j==i&&p!=NULL}}
cout<<"illegalindex\n"; 假定有一個指針behind指向鏈表中的某個結點, 結點
如果有一個指針front指向behind的前驅(qū),則僅需編寫下面的兩個語句,即可實 newnode- 如果沒有behind指針 操作仍然可以完成 head=newnode;
6767>next=newnod;newnode->next=NULL
8877structnode*insert(node*head,int{structnodenewnode=new head=;en- {while(behind!=NULL&&x>behind->data)//找
>ne}f(biedo h h;
; elsei n n; ;}
b >ne=nwnode}return
;}刪除鏈表中的某個結點,是把被刪除結點的后繼結點的地址,賦給其前趨結點的指針域或表頭指針head,無后繼結點時,則賦deletep;q->next=p->nextq->next=p->nextdeletestructnode*delnode(node*head,int{structnode p= cout<<"Thelistiswhilep!=NULL&&p->data!= {q=p;p=p->next; {head=p->next;deletep;else {q->next=p->next;deletep; cout<<x<<"dosenotexistinthe}return}
an-an-00 在帶表頭結點的單鏈表最前 新結^^
^^newnode->next=p->link;p->next=newnode; ^^
q=p-^p->next=q-^delete應用分析根據(jù)題意,建立該鏈表的過程是不斷向表頭新結點的過#include"iostream.h"structnode{intstructno
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆云南紅河州第一中學高三3月模擬檢測試題物理試題含解析
- 湖北省普通高中聯(lián)考協(xié)作體2025屆高三下學期統(tǒng)練(七)化學試題含解析
- 曲靖師范學院《信息資源組織與管理》2023-2024學年第二學期期末試卷
- 指甲美容市場調(diào)查問卷
- 關于家庭花草種植調(diào)查問卷
- 粉煤灰施工方案
- 水泥庫清庫施工方案
- 水處理建筑施工方案
- 室外保溫施工方案
- 2025年學生分班測試題及答案
- 老舍讀書分享名著導讀《貓城記》
- 學科國際發(fā)展趨勢
- 初一年級班級日志記載表(詳)
- 建設工程安全生產(chǎn)管理習題庫及答案
- 項目1 多旋翼無人機的組裝與調(diào)試
- 供應鏈管理:高成本、高庫存、重資產(chǎn)的解決方案 第2版
- 馬克筆建筑快速表現(xiàn)
- 日本夏日祭活動鑒賞
- 中國教育史筆記全
- 某工業(yè)鍋爐安裝工程監(jiān)理作業(yè)指導書
- 名?!稄娀媱潯烦跎咩暯訑?shù)學講義(上)
評論
0/150
提交評論