C 語言順序表實(shí)驗(yàn)報(bào)告
編制
精選 表格 審核
批準(zhǔn)
生效日期
地址:
電話:
傳真:
郵編:
實(shí)驗(yàn)報(bào)告要求 一、實(shí)驗(yàn)?zāi)康?二、實(shí)驗(yàn)內(nèi)容 三、程序流程圖 四、實(shí)驗(yàn)結(jié)果(要求檢測(cè)所有情況的正確性,寫出測(cè)試條件及相應(yīng)的測(cè)試結(jié)果)
五、完成思考題 實(shí)驗(yàn)一
順序表的基本操作(2 學(xué)時(shí)) 一、 實(shí)驗(yàn)?zāi)康?了解順序表的邏輯特征,掌握順序表的描述方法、特點(diǎn)及有關(guān)的概念,掌握順序表上的插入和刪除等基本操作算法。
二、實(shí)驗(yàn)內(nèi)容 在順序表 List
[]中,實(shí)現(xiàn)順序表的基本操作,包括:初始化順序表,在表中插入元素、刪除元素。
基本要求:
(1)
順序表的元素個(gè)數(shù)可隨意設(shè)定; (2)
可連續(xù)測(cè)試任意多個(gè)元素的插入、刪除,(插 入、刪除位置及要插入元素?cái)?shù)值均從鍵盤輸入); (3)
任一操作結(jié)束后將順序表中的內(nèi)容輸出; (4)
可由用戶選擇退出程序。
三、實(shí)驗(yàn)要點(diǎn)及說明 順序表又稱為線性表的順序存儲(chǔ)結(jié)構(gòu),它是用一組地址連續(xù)的存儲(chǔ)單元依次存放線性表的各個(gè)元素。
可按如下格式定義順序表:
#define MAXLEN 50
/* 定義順序表最大元素個(gè)數(shù) 50 */
typedef struct{ datatype List[MAXLEN];
/* 定義順序表 List */
int Num;
/* 定義順序表表長(zhǎng) */ }Seqlist;
模塊劃分:(1)initiq( )函數(shù):初始化順序表
(2)insertq( )函數(shù):實(shí)現(xiàn)插入功能
(3)deleteq( )函數(shù):實(shí)現(xiàn)刪除功能
(4)print( )函數(shù):實(shí)現(xiàn)輸出功能 四、參考源程序 #include <> #define MAXLEN 50 typedef int datatype; typedef struct{
datatype List[MAXLEN];
int Num;
}Seqlist; void initiq(Seqlist *la ); int insertq(Seqlist *la,int n); int deleteq(Seqlist *la,int n); int print(Seqlist *la);
void main() {
Seqlist la;
int s,n;
/* s 選擇輸入, n 插入或刪除數(shù)據(jù)的個(gè)數(shù)*/
printf("請(qǐng)輸入你的選擇: 1---initiate 2---insert 3---delete 4---print 5---exit\nyour choice =");
scanf("%d",&s);
while(s!=5)
{ if(s==1)
{
initiq( &la );
printf("完成初始化 !\n");
}
else if(s==2)
{
printf("請(qǐng)輸入待插入的數(shù)據(jù)個(gè)數(shù):");
scanf("%d",&n);
insertq(&la,n);
print(&la);
}
else if(s==3)
{
printf("請(qǐng)輸入待刪除的數(shù)據(jù)個(gè)數(shù):");
scanf("%d",&n);
deleteq(&la,n);
print(&la);
}
else if(s==4)
{
print(&la);
}
else
printf("你的選擇是錯(cuò)誤的!\n ");
printf("請(qǐng)輸入你的選擇: 1---initiate 2---insert 3---delete 4---print 5---exit\nyour choice =");
scanf("%d",&s);
}
} /*初始化*/ void initiq(Seqlist *la ) {
la-> Num=0;
} /*插入*/ int insertq(Seqlist *la,int n) {
int i,j;
/*
i 插入位置, j 順序表下標(biāo) */
datatype x;
/*
x 插入數(shù)據(jù) */
while(n)
{
if (la->Num>=MAXLEN-1)
{
printf ("\n 表滿,不能插入!插入未完成,還有%d 個(gè)數(shù)據(jù)未插入\n",n);
return 0;
}
printf("請(qǐng)輸入插入的位置和數(shù)據(jù):");
scanf("%d%d",&i,&x);
if (i<0||i>la->Num)
{
printf ("\n 插入位置不合理!\n");
}
else
{
if (i== la->Num)
la->List[i]=x;
else
{
for ( j=la->Num; j>i; j--)
la->List[j]=la->List[j-1];
la->List[i]=x;
}
la->Num++;
n--;
}
}
printf("插入完成\n");
return 1;
} /*刪除*/ int deleteq(Seqlist *la,int n) {
int i,j;
/*
i 刪除位置, j 順序表下標(biāo) */
while(n)
{
if (la->Num<=0)
{
printf ("\n 表空,不能刪除!\n");
return 0;
}
printf("請(qǐng)輸入刪除的位置:");
scanf("%d",&i);
if (i<0||i>=la->Num)
{
printf ("\n 刪除位置錯(cuò)誤!\n");
}
else
{
for ( j=i+1; j<la->Num; j++)
la->List[j-1]=la->List[j];
la->Num--;
n--;
}
}
printf("刪除完成!\n");
return 1;
} /*顯示輸出*/ int print (Seqlist *la) {
int m;
if (la->Num<=0)
{
printf("順序表為空!\n");
return 0;
}
else
{
printf("當(dāng)前的順序表為:\n");
for(m=0;m<la->Num;m++)
printf("List[%d]=%d
",m,la->List[m]);
printf("\n 表長(zhǎng)為%d\n",la->Num);
return 1;
}
} 五、思考題 1.設(shè)順序表 L中的數(shù)據(jù)元素按遞增排列,編寫一個(gè)算法,將數(shù)據(jù)元素 x插入到順序表 L的適當(dāng)位置上,以保持順序表的有序性。
2. 設(shè)計(jì)一算法實(shí)現(xiàn)刪除順序表 a 中第 i 個(gè)元素起的 k個(gè)元素。
typedef struct { int datatype[100];
int length;
/*順序表的長(zhǎng)度*/ } SqList; 3. 設(shè)已有線性表 la 的數(shù)據(jù)結(jié)構(gòu)定義同上,編寫一個(gè)算法,刪除順序表 la 中所有值為 x的數(shù)據(jù)元素。
4.如何用程序?qū)崿F(xiàn)將兩個(gè)不同的順序表復(fù)制到一個(gè)順序表中
推薦訪問: 順序 語言 實(shí)驗(yàn)在偉大祖國(guó)73華誕之際,我參加了單位組織的“光影鑄魂”主題黨日活動(dòng),集中觀看了抗美援朝題材影片《長(zhǎng)津湖》,再一次重溫這段悲壯歷史,再一次深刻感悟偉大抗美援朝精神。1950年10月,新中國(guó)剛剛成立一年,
根據(jù)省局黨組《關(guān)于舉辦習(xí)近平談治國(guó)理政(第四卷)讀書班的通知》要求,我中心通過專題學(xué)習(xí)、專題研討以及交流分享等形式,系統(tǒng)的對(duì)《習(xí)近平談治國(guó)理政》(第四卷)進(jìn)行了深入的學(xué)習(xí)與交流,下面我就來談一談我個(gè)人
《習(xí)近平談治國(guó)理政》(第四卷)是在百年變局和世紀(jì)疫情相互疊加的大背景下,對(duì)以習(xí)近平同志為核心的黨中央治國(guó)理政重大戰(zhàn)略部署、重大理論創(chuàng)造、重大思想引領(lǐng)的系統(tǒng)呈現(xiàn)。它生動(dòng)記錄了新一代黨中央領(lǐng)導(dǎo)集體統(tǒng)籌兩個(gè)
《真抓實(shí)干做好新發(fā)展階段“三農(nóng)工作”》是《習(xí)近平談治國(guó)理政》第四卷中的文章,這是習(xí)近平總書記在2020年12月28日中央農(nóng)村工作會(huì)議上的集體學(xué)習(xí)時(shí)的講話。文章指出,我常講,領(lǐng)導(dǎo)干部要胸懷黨和國(guó)家工作大
在《習(xí)近平談治國(guó)理政》第四卷中,習(xí)近平總書記強(qiáng)調(diào),江山就是人民,人民就是江山,打江山、守江山,守的是人民的心。從嘉興南湖中駛出的小小紅船,到世界上最大的執(zhí)政黨,在中國(guó)共產(chǎn)黨的字典里,“人民”一詞從來都
黨的十八大以來,習(xí)近平總書記以馬克思主義戰(zhàn)略家的博大胸襟和深謀遠(yuǎn)慮,在治國(guó)理政和推動(dòng)全球治理中牢固樹立戰(zhàn)略意識(shí),在不同場(chǎng)合多次圍繞戰(zhàn)略策略的重要性,戰(zhàn)略和策略的關(guān)系,提高戰(zhàn)略思維、堅(jiān)定戰(zhàn)略自信、強(qiáng)化戰(zhàn)
《習(xí)近平談治國(guó)理政》第四卷集中展示了以習(xí)近平同志為核心的黨中央在百年變局和世紀(jì)疫情相互疊加背景下,如何更好地堅(jiān)持和發(fā)展中國(guó)特色社會(huì)主義而進(jìn)行的生動(dòng)實(shí)踐與理論探索;對(duì)于新時(shí)代堅(jiān)持和發(fā)展什么樣的中國(guó)特色社
在黨組織的關(guān)懷下,我有幸參加了區(qū)委組織部組織的入黨積極分子培訓(xùn)班。為期一周的學(xué)習(xí),學(xué)習(xí)形式多樣,課程內(nèi)容豐富,各位專家的講解細(xì)致精彩,對(duì)于我加深對(duì)黨的創(chuàng)新理論的認(rèn)識(shí)、對(duì)黨的歷史的深入了解、對(duì)中共黨員的
《習(xí)近平談治國(guó)理政》第四卷《共建網(wǎng)上美好精神家園》一文中指出:網(wǎng)絡(luò)玩命是新形勢(shì)下社會(huì)文明的重要內(nèi)容,是建設(shè)網(wǎng)絡(luò)強(qiáng)國(guó)的重要領(lǐng)域。截至2021年12月,我國(guó)網(wǎng)民規(guī)模達(dá)10 32億,較2020年12月增長(zhǎng)4
剛剛召開的中國(guó)共產(chǎn)黨第十九屆中央委員會(huì)第七次全體會(huì)議上討論并通過了黨的十九屆中央委員會(huì)向中國(guó)共產(chǎn)黨第二十次全國(guó)代表大會(huì)的報(bào)告、黨的十九屆中央紀(jì)律檢查委員會(huì)向中國(guó)共產(chǎn)黨第二十次全國(guó)代表大會(huì)的工作報(bào)告和《