Problem A: 刪除區間內的元素(線性表)

Problem A: 刪除區間內的元素(線性表)

Time Limit: 1 Sec??Memory Limit: 2 MB
Submit: 75??Solved: 24
[Submit][Status][Web Board]

Description

若一個線性表L采用順序存儲結構,其中元素都為整數。設計一個算法,刪除元素值在[x,y]之間的所有元素,要求算法的時間復雜度為O(n),空間復雜度為O(1).?

順序表定義為:

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

需編寫的算法為:

bool Delete(SqList *&L,ElemType x,ElemType y);

注意:只需提交刪除區間內元素的算法Delete部分。

Input

輸入的第一行代表線性表的長度n,n<=SizeMax。第二行輸入n個元素并插入到線性表中,第三行輸入兩個整數x,y,確定區間。

Output

輸出的數據占兩行,第一行是刪除之后線性表的長度length,接下來的一行是線性表中的每個元素。

Sample Input

10
5 3 6 2 1 9 8 7 4 0
3 7

Sample Output

5
2 1 9 8 0

HINT

1、請使用C++編譯并提交


2、只需提交刪除區間內元素算法的部分


3、注意區間端點值是否合理

#include <stdio.h> 
#include <stdlib.h> 
#define SizeMax 10000 
typedef int ElemType; 
typedef struct
{ ElemType data[SizeMax]; int length; 
} SqList; 
void CreateList(SqList *&L,ElemType n) 
{ if(n>SizeMax)return; L=(SqList*)malloc(sizeof(SqList)); for(int i=0; i<n; i++) scanf("%d",&L->data[i]); L->length=n; 
}bool Delete(SqList *&L,ElemType x,ElemType y) 
{ SqList *p=L; if(x>y)return false; int n=p->length; for(int i=0,j=0;i<n;i++) { if(p->data[i]>=x&&p->data[i]<=y)p->length--; else{ p->data[j]=p->data[i]; j++; } } return true; 
} 
void Print(SqList *L) 
{ int i; printf("%d\n",L->length); for(i=0; i<L->length; i++) printf(i!=L->length-1?"%d ":"%d\n",L->data[i]); 
} 
void DestroyList(SqList *&L) 
{ free(L); 
} 
int main() 
{ SqList *L; ElemType n,x,y; scanf("%d",&n); CreateList(L,n); scanf("%d%d",&x,&y); if(Delete(L,x,y)) Print(L); DestroyList(L); return 0; 
} 

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

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

相關文章

問題 B: 調整表中元素順序(線性表)

問題 B: 調整表中元素順序&#xff08;線性表&#xff09; 時間限制: 1 Sec 內存限制: 2 MB提交: 28 解決: 11[提交][狀態][討論版]題目描述 若一個線性表L采用順序存儲結構存儲&#xff0c;其中所有元素都為整數。設計一個算法&#xff0c;將所有小于0的元素移到所有大于0的…

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

問題 C: 順序表基本運算&#xff08;線性表&#xff09; 時間限制: 1 Sec 內存限制: 128 MBDescription 編寫一個程序&#xff0c;實現順序表的各種基本運算&#xff08;假設順序表的元素類型為char&#xff09;&#xff0c;主函數已給出&#xff0c;請補充每一種方法。 1、初…

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…