C 語言程序設計實踐
綜合題目:
順序表基本算法
班
級:
姓
名:
同組人員:
提交日期:
一、程序功能:
1、建立一個順序表。2、對建立好的順序表進行一些基本的操作,如:
a.順序表的類型定義。
b.求順序表長操作。
c.取順序表元素操作。
d.按值查找操作。
e.顯示元素操作。
f.插入操作。
g.刪除操作。
h.顯示元素操作。
二、算法設計思想:
用一組存儲單元來存放線性表中的數據元素,把順序表中的所有元素按照其邏輯結構順序依次儲存到從計算機儲存器中指定儲存位置開始的一塊連續的儲存空間。線性表中的第一個位置儲存在數組的起始位置(下標為 0)在定義一個順序表時,除了定義一個數組來儲存線性表中的所有元素,還需要定義一個整型變量來儲存線性表的實際長度。然后通過對數組元素中的元素進行操作,對順序表進行基本算法。
三、 算法運行結果
1、顯示整個功能
2、設置順序表的長度:
3、求出并返回順序表的長度:
4、在順序表中取出某個位置的元素并返回其值:
5、顯示順序表中的元素:
6、在順序表的某個位置插入元素:
7、刪除順序表中的某個元素
8、輸出順序表
9、將順序表逆序輸出
10、退出對順序表的操作:
四、收獲及體會 通過對順序表的幾個基本運算的調用,實現順序表的幾個基本算法。同時也懂得如何定義順序表,還有順序表的用法。
五、算法源代碼 #include<stdio.h> #include<stdlib.h> #define
MaxSize
50
typedef
int
ElemType ; typedef
struct
{
ElemType data[MaxSize];
int length;
}SqList;
//順序表類型
void InitList(SqList *& L); //初始化順序表
void CreateList(SqList*& L,ElemType a[],ElemType n); //建立順序表
bool ListEmpty(SqList *L);
//判斷順序表是否為空表
int ListLength(SqList *L);
//求順序表長度
void DispList(SqList *L);
//輸出順序表
bool GetElem(SqList *L,ElemType i,ElemType &e);
//求順序表中某個元素值
int LocateElem(SqList *L,ElemType e);
//按照元素值查找
bool ListInsert(SqList *& L,ElemType i,ElemType e);
//插入元素 e
bool ListDelete(SqList *& L,int i,ElemType &e);
//刪除元素
void DestroyList(SqList *&L);
//銷毀順序表
void InitList(SqList *& L)
//初始化順序表
{
L=(SqList*)malloc(sizeof(SqList));
L->length=0; } void CreateList(SqList*& L,ElemType a[],ElemType n)
//建立順序表
2 {
int i;
L=(SqList *)malloc(sizeof(SqList));
for(i=0;i<n;i++)
L->data[i]=a[i];
L->length=n; } bool ListEmpty(SqList *L)
//判斷順序表是否為空表
{
return(L->length==0); } int ListLength(SqList *L)
//求順序表長度
{
return(L->length); } void DispList(SqList *L)
//輸出順序表
{
int i;
for(i=0;i<L->length;i++)
printf("%3d",L->data[i]);
printf("\n"); }
bool GetElem(SqList *L,ElemType i,ElemType &e)
//求順序表中某個元素值
{
if(i<1||i>L->length)
return false;
e=L->data[i-1];
return true; }
int LocateElem(SqList *L,ElemType e)
//按照元素值查找
{
int i=0;
while(i<L->length&&L->data[i]!=e)
i++;
if(i>L->length)
return 0;
else
return i+1; } bool ListInsert(SqList *& L,ElemType i,ElemType e)
//插入元素 e
{
int j;
if(i<1||i>L->length+1)
return false;
i--;
for(j=L->length;j>i;j--)
L->data[j]=L->data[j-1];
L->data[i]=e;
L->length++;
return true;
} bool ListDelete(SqList *& L,int i,ElemType &e)
//刪除元素
{
int j;
L = NULL;
if(i<1||i>L->length)
return false;
i--;
e=L->data[i];
for(j=i;j<L->length-1;j++)
L->data[j]=L->data[j+1];
L->length--;
return true; } void DestroyList(SqList *&L)
//銷毀順序表
{
free(L);
L = NULL; }
推薦訪問: 算法 順序 實驗在偉大祖國73華誕之際,我參加了單位組織的“光影鑄魂”主題黨日活動,集中觀看了抗美援朝題材影片《長津湖》,再一次重溫這段悲壯歷史,再一次深刻感悟偉大抗美援朝精神。1950年10月,新中國剛剛成立一年,
根據省局黨組《關于舉辦習近平談治國理政(第四卷)讀書班的通知》要求,我中心通過專題學習、專題研討以及交流分享等形式,系統的對《習近平談治國理政》(第四卷)進行了深入的學習與交流,下面我就來談一談我個人
《習近平談治國理政》(第四卷)是在百年變局和世紀疫情相互疊加的大背景下,對以習近平同志為核心的黨中央治國理政重大戰略部署、重大理論創造、重大思想引領的系統呈現。它生動記錄了新一代黨中央領導集體統籌兩個
《真抓實干做好新發展階段“三農工作”》是《習近平談治國理政》第四卷中的文章,這是習近平總書記在2020年12月28日中央農村工作會議上的集體學習時的講話。文章指出,我常講,領導干部要胸懷黨和國家工作大
在《習近平談治國理政》第四卷中,習近平總書記強調,江山就是人民,人民就是江山,打江山、守江山,守的是人民的心。從嘉興南湖中駛出的小小紅船,到世界上最大的執政黨,在中國共產黨的字典里,“人民”一詞從來都
黨的十八大以來,習近平總書記以馬克思主義戰略家的博大胸襟和深謀遠慮,在治國理政和推動全球治理中牢固樹立戰略意識,在不同場合多次圍繞戰略策略的重要性,戰略和策略的關系,提高戰略思維、堅定戰略自信、強化戰
《習近平談治國理政》第四卷集中展示了以習近平同志為核心的黨中央在百年變局和世紀疫情相互疊加背景下,如何更好地堅持和發展中國特色社會主義而進行的生動實踐與理論探索;對于新時代堅持和發展什么樣的中國特色社
在黨組織的關懷下,我有幸參加了區委組織部組織的入黨積極分子培訓班。為期一周的學習,學習形式多樣,課程內容豐富,各位專家的講解細致精彩,對于我加深對黨的創新理論的認識、對黨的歷史的深入了解、對中共黨員的
《習近平談治國理政》第四卷《共建網上美好精神家園》一文中指出:網絡玩命是新形勢下社會文明的重要內容,是建設網絡強國的重要領域。截至2021年12月,我國網民規模達10 32億,較2020年12月增長4
剛剛召開的中國共產黨第十九屆中央委員會第七次全體會議上討論并通過了黨的十九屆中央委員會向中國共產黨第二十次全國代表大會的報告、黨的十九屆中央紀律檢查委員會向中國共產黨第二十次全國代表大會的工作報告和《