Problem C: 順序表基本運算(線性表)

問題 C: 順序表基本運算(線性表)

時間限制: 1 Sec??內存限制: 128 MB

Description

編寫一個程序,實現順序表的各種基本運算(假設順序表的元素類型為char),主函數已給出,請補充每一種方法。

?

1、初始化順序表L;

2、采用尾插法依次插入元素a,b,c,d,e;

3、輸出順序表L;

4、輸出順序表L的長度;

5、判斷順序表是否為空;

6、輸出順序表L的第三個元素;

7、輸出元素a的位置;

8、在第四個元素位置插入元素f;

9、輸出順序表L;

10、刪除L的第三個元素;

11、輸出順序表L;

12、釋放順序表L;

? ??

數據元素類型定義為

typedef char ElemType;

?

順序表的定義為

typedef struct
{
? ? ElemType data[SizeMax];
? ? int length;
} SqList;
??
?

主函數:

int main()

{

? ? SqList *L;

? ? InitList(L); ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化順序表

? ? ElemType a,b,c,d,e;

? ? scanf("%c %c %c %c %c%*c",&a,&b,&c,&d,&e);

? ? Insert(L,a);

? ? Insert(L,b);

? ? Insert(L,c);

? ? Insert(L,d);

? ? Insert(L,e); ? ? ? ? ? ? ? ? ? ? ? ? ? ?//使用尾插法插入元素a,b,c,d,e

? ? Print(L); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //輸出順序表

? ? PrintLength(L); ? ? ? ? ? ? ? ? ? ? ? ? //輸出順序表長度

? ? if(SqNull(L))

? ? ? ? ?printf("順序表不為空\n");

? ? else printf("順序表為空\n"); ? ? ? ? ? ?//判斷順序表是否為空

? ? PrintData(L,3); ? ? ? ? ? ? ? ? ? ? ? ? //輸出第三個元素

? ? printf("元素a的位置:%d\n",Find(L,a)); ?//輸出元素a的位置

? ? ElemType f;

? ? scanf("%c",&f);

? ? Insertinto(L,4,f); ? ? ? ? ? ? ? ? ? ? ?//將f插入到第四個位置

? ? Print(L); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //輸出順序表

? ? Delete(L,3); ? ? ? ? ? ? ? ? ? ? ? ? ? ?//刪除第三個元素

? ? Print(L); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //輸出順序表

? ? free(L); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//釋放內存

? ? return 0;

}

Input

第一行輸入五個元素a,b,c,d,e;接下來輸入元素f;請根據題目編寫算法。

Output

Sample Input

1 2 3 4 5
6

Sample Output

1 2 3 4 5
5
順序表不為空
3
元素a的位置:1
1 2 3 6 4 5
1 2 6 4 5

提示

請使用C++編譯并提交

#include <stdio.h>
#include <stdlib.h>
#define SizeMax 10
typedef char ElemType;
typedef struct
{ElemType data[SizeMax];int length;
} SqList;
void InitList(SqList *&L)
{L=(SqList*)malloc(sizeof(SqList));L->length=0;
}
void Insert(SqList *&L,ElemType n)
{L->data[L->length]=n;L->length++;
}
void Print(SqList *&L)
{int i;for(i=0;i<L->length-1;i++){printf("%c ",L->data[i]);}printf("%c\n",L->data[i]);
}
void PrintLength(SqList *&L)
{printf("%d\n",L->length);
}
bool SqNull(SqList *&L)
{if(L->length)return 1;return 0;
}
void PrintData(SqList *L,int n)
{if(L->length<n)return;printf("%c\n",L->data[n-1]);
}
int Find(SqList *L,ElemType a)
{for(int i=0;i<L->length;i++)if(L->data[i]==a)return i+1;return 0;
}
void Insertinto(SqList *&L,int n,ElemType f)
{for(int i=L->length;i>=n;i--)L->data[i]=L->data[i-1];L->data[n-1]=f;L->length++;
}
void Delete(SqList *&L,int n)
{for(int i=n-1;i<L->length;i++)L->data[i]=L->data[i+1];L->length--;
}
int main()
{SqList *L;InitList(L);                            //初始化順序表ElemType a,b,c,d,e;scanf("%c %c %c %c %c%*c",&a,&b,&c,&d,&e);Insert(L,a);Insert(L,b);Insert(L,c);Insert(L,d);Insert(L,e);                            //使用尾插法插入元素a,b,c,d,ePrint(L);                               //輸出順序表PrintLength(L);                         //輸出順序表長度if(SqNull(L))printf("順序表不為空\n");else printf("順序表為空\n");            //判斷順序表是否為空PrintData(L,3);                         //輸出第三個元素printf("元素a的位置:%d\n",Find(L,a));  //輸出元素a的位置ElemType f;scanf("%c",&f);Insertinto(L,4,f);                      //將f插入到第四個位置Print(L);                               //輸出順序表Delete(L,3);                            //刪除第三個元素Print(L);                               //輸出順序表free(L);                                //釋放內存return 0;
}


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/536214.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/536214.shtml
英文地址,請注明出處:http://en.pswp.cn/news/536214.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Problem D: 鏈表的基本運算(線性表)

Problem D: 鏈表的基本運算&#xff08;線性表&#xff09; Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 18 Solved: 10Description 編寫一個程序&#xff0c;實現鏈表的各種基本運算&#xff08;假設順序表的元素類型為char&#xff09;&#xff0c;主函數已給出&#…

Problem B: 結構體---職工信息結構體

Problem B: 結構體---職工信息結構體 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 504 Solved: 306編寫程序&#xff0c;定義一個存放職工信息的結構體類型&#xff0c;職工信息包括職工姓名、工作年限、工資總額。初始化5名職工的信息&#xff0c;對工作年限超過30年的…

Problem C: 結構體---點坐標結構體

Problem C: 結構體---點坐標結構體 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 663 Solved: 444[Submit][Status][Web Board]Description 定義一個表示點坐標的結構體&#xff0c;輸入兩個點的坐標&#xff0c;輸出這兩個點中點的坐標 Input 第一個點的坐標&#xff08…

Problem D: 編程題B-向量的數量積

Problem D: 編程題B-向量的數量積 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 164 Solved: 148Description 已知兩個非零向量a&#xff08;x1&#xff0c;y1&#xff09;&#xff0c;b&#xff08;x2&#xff0c;y2&#xff09;&#xff0c;則有abx1x2y1y2&#xff0c;…

Problem E: 高于均分的學生

Problem E: 高于均分的學生 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 67 Solved: 45Description 輸入n(<100)個學生的姓名、學號和成績&#xff0c;將其中高于平均成績的姓名、學號和成績輸出。 Input 第一行為學生人數 n 第二行到第n1行&#xff0c;每行一個學生…

Problem E: 建立鏈表(線性表)

Problem E: 建立鏈表(線性表) Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 323 Solved: 207Description &#xff08;線性表&#xff09;設鍵盤輸入n個英語單詞&#xff0c;輸入格式為n, w1, w2, …,wn,其中n表示隨后輸入英語單詞個數&#xff0c;試編一程序&#xff0c…

Problem A: 判斷操作是否合法(棧和隊列)

Problem A: 判斷操作是否合法&#xff08;棧和隊列&#xff09; Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 67 Solved: 22Description 假設以I和O分別表示進棧和出棧操作&#xff0c;棧的初態和終態均為空&#xff0c;進棧和出棧的操作序列可表示為僅由I和O組成的序列…

Problem G: 函數---判斷日期(年月日)是否合法

Problem G: 函數---判斷日期&#xff08;年月日&#xff09;是否合法 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 566 Solved: 240Description 編寫函數isValid_date&#xff0c;函數聲明如下: int isValid_date(int year,int month,int day); //判斷日期&#xff08;年…

Problem H: 今年第幾天?

Problem H: 今年第幾天&#xff1f; Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 723 Solved: 310Description 定義一個函數&#xff0c;其參數為年、月、日的值&#xff0c;返回這一天為該年的第幾天。要求在main函數中輸入年月日&#xff0c;然后調用這個函數求值&…

Problem I: 函數---判斷某年某月某日是這一年中的第幾天

Problem I: 函數---判斷某年某月某日是這一年中的第幾天 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 457 Solved: 194Description 在主程序(main)中輸入某年某月某日&#xff0c;例如2012 9 18(年月日之間用空格隔開)&#xff0c; 調用函數dayth來得到某年某月某日是這…

Problem C: 括號匹配(棧和隊列)

Problem C: 括號匹配&#xff08;棧和隊列&#xff09; Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 76 Solved: 18[Submit][Status][Web Board]Description 假設一個表達式中只允許包含三種括號&#xff1a;圓括號“(”和“)”&#xff0c;方括號“[”和“]”和花括號“…

Problem D: 棧的基本運算(棧和隊列)

Problem D: 棧的基本運算&#xff08;棧和隊列&#xff09; Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 43 Solved: 15[Submit][Status][Web Board]Description 編寫一個程序&#xff0c;實現順序棧的各種基本運算&#xff0c;主函數已給出&#xff0c;請補充每一種方法…

Problem B: C語言習題 矩陣元素變換

Problem B: C語言習題 矩陣元素變換 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 942 Solved: 558[Submit][Status][Web Board]Description 將一個nn(2<n<10,n為奇數)的矩陣中最大的元素放在中心&#xff0c;4個角分別放4個最小的元素&#xff08;按從左到右、從上…

Problem D: 刪出多余的空格

Problem D: 刪出多余的空格 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 667 Solved: 308[Submit][Status][Web Board]Description 小平在給弟弟檢查英語作業時時&#xff0c;發現每個英語句子單詞之間的空格個數不等&#xff0c;請你編程幫他把句子中多余的空格去掉&am…

Problem D: 順序串的基本運算

Problem D: 順序串的基本運算 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 73 Solved: 28[Submit][Status][Web Board]Description 編寫一個程序&#xff0c;實現順序串的各種基本運算&#xff0c;主函數已給出&#xff0c;請補充每一種方法。 1、建立串s"abcdefgh…

骨牌鋪方格

骨牌鋪方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 46495 Accepted Submission(s): 22470 Problem Description在2n的一個長方形方格中,用一個1 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數.例如n3時…

遞歸思想完成n皇后問題

已經很長時間不敲代碼了&#xff0c;感覺自己越來與頹廢&#xff0c;所以現在又想做回一名苦逼的程序員&#xff0c;開啟自己的代碼之路。 我是根據視頻敲的&#xff0c;沒有題目&#xff0c;先看個四皇后問題吧。 所謂4皇后問題就是求解如何在44的棋盤上無沖突的擺放4個皇后棋…

POJ1163 數字三角形

1.題目信息&#xff08;http://poj.org/problem?id1163&#xff09; The TriangleTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 30397 Accepted: 17973 Description 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5(Figure 1) Figure 1 shows a number tri…

virtualbox的USB識別

VirtualBox識別USB教程 作者&#xff1a;Vincent June 13, 2017 在Virtualbox虛擬機配置面板中打開USB設備選項&#xff0c;分別勾選上“啟動USB控制器”“啟用usb2.0控制器”選項&#xff0c;如果有錯誤去https://www.virtualbox.org/wiki/Downloads 下載相應版本的插件包&a…

ubuntu實現簡單的劃詞工具

ubuntu實現簡單的劃詞工具 由于ubuntu下面沒有比較好用的劃詞翻譯工具&#xff0c;而且本人比較喜歡有道詞典&#xff0c;雖然ubuntu下有deepin版本的有道詞典包&#xff0c;可是總是會有bug&#xff0c;卡死等等。所以自己參考別人寫了一個小工具&#xff0c;涉及shell和pyth…