日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

线性表的删除

發(fā)布時(shí)間:2023/12/4 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线性表的删除 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

給定一個(gè)順序存儲(chǔ)的線性表,請(qǐng)?jiān)O(shè)計(jì)一個(gè)函數(shù)刪除所有值大于min而且小于max的元素。刪除后表中剩余元素保持順序存儲(chǔ),并且相對(duì)位置不能改變。

函數(shù)接口定義:

List Delete( List L, ElementType minD, ElementType maxD );

其中List結(jié)構(gòu)定義如下:

typedef int Position; typedef struct LNode *List; struct LNode {ElementType Data[MAXSIZE];Position Last; /* 保存線性表中最后一個(gè)元素的位置 */ };

L是用戶傳入的一個(gè)線性表,其中ElementType元素可以通過>、==、<進(jìn)行比較;minD和maxD分別為待刪除元素的值域的下、上界。函數(shù)Delete應(yīng)將Data[]中所有值大于minD而且小于maxD的元素刪除,同時(shí)保證表中剩余元素保持順序存儲(chǔ),并且相對(duì)位置不變,最后返回刪除后的表。

裁判測(cè)試程序樣例:

#include <stdio.h>#define MAXSIZE 20 typedef int ElementType;typedef int Position; typedef struct LNode *List; struct LNode {ElementType Data[MAXSIZE];Position Last; /* 保存線性表中最后一個(gè)元素的位置 */ };List ReadInput(); /* 裁判實(shí)現(xiàn),細(xì)節(jié)不表。元素從下標(biāo)0開始存儲(chǔ) */ void PrintList( List L ); /* 裁判實(shí)現(xiàn),細(xì)節(jié)不表 */ List Delete( List L, ElementType minD, ElementType maxD );int main() {List L;ElementType minD, maxD;int i;L = ReadInput();scanf("%d %d", &minD, &maxD);L = Delete( L, minD, maxD );PrintList( L );return 0; }/* 你的代碼將被嵌在這里 */

輸入樣例:

10
4 -8 2 12 1 5 9 3 3 10
0 4

輸出樣例:

4 -8 12 5 9 10

代碼:

List Delete( List L, ElementType minD, ElementType maxD ) {int i,j=0;for(i=0;i<=L->Last;i++){if(L->Data[i]<=minD||L->Data[i]>=maxD){L->Data[j]=L->Data[i];j++;}}L->Last=j-1;return L; }

就是遍歷,定義一個(gè)j
滿足條件的都按順序存入數(shù)組

總結(jié)

以上是生活随笔為你收集整理的线性表的删除的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。