1. 程式人生 > >設計刪除順序表中【x,y】中的所有元素演算法

設計刪除順序表中【x,y】中的所有元素演算法

線性表L採用順序儲存結構,刪除元素在[x,y]之間的所有元素。

程式碼如下:

#include <iostream>
#include <stdlib.h>
using namespace std;
#define MaxSize 10
typedef char ElemType;
typedef struct
{
    ElemType data[MaxSize];
    int length;
}SqList;
void InitiList(SqList *&L,ElemType a[],int n);//初始化順序表
void DisplayList(SqList *L);//顯示順序表
<span style="color:#ff0000;">bool DeleteX_YList(SqList *L,int x,int y);//刪除x,y之間的元素</span>
int main()
{
    SqList *L=new SqList();
    ElemType a[]={'a','b','c','d','e','f','g','l'};
    InitiList(L,a,8);
    DisplayList(L);
    cout<<endl;
    DeleteX_YList(L,1,4);
    DisplayList(L);
    return 0;
}
<span style="color:#ff0000;">bool DeleteX_YList(SqList *L,int x,int y)//刪除x,y之間的元素
{
    if((y-x)>(L->length)||(y<x))
        return false;
    else
    {
        int i=y;
            for(int j=x-1;i<L->length;j++,i++)
                L->data[j]=L->data[i];
            L->length-=(y-x+1);
        return true;
    }
}</span>
void DisplayList(SqList *L)//顯示順序表
{
    for(int i=0;i<L->length;i++)
        cout<<L->data[i]<<" ";
}
void InitiList(SqList *&L,ElemType a[],int n)//初始化順序表
{
    L = (SqList*)malloc(sizeof(SqList));
    for(int i=0;i<n;i++)
        L->data[i]=a[i];
    L->length=n;
}


相關推薦

設計刪除順序xy所有元素演算法

線性表L採用順序儲存結構,刪除元素在[x,y]之間的所有元素。 程式碼如下: #include <iostream> #include <stdlib.h> using nam

刪除順序下標從i到j的所有元素

#include <stdio.h> /* 題目:天勤40頁(4) 從一給定的順序表L中刪除下標i至j的所有元素, i<=j,包括i和j, 假定i和j都是合法的 演算法: 本質是元素的覆蓋操作,並把順序表的length作及時的更新: list.arr[i]被list.arr[j

669. Trim a Binary Search Tree 刪除搜尋二叉樹LR範圍之外的節點

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNod

python 使用matplotlib 實現從檔案讀取xy座標的視覺化

1. test.txt檔案,資料以逗號分割,第一個資料為x座標,第二個為y座標,資料如下:1.1,2 2.1,2 3.1,3 4.1,5 40,38 42,41 43,422. python部分程式碼#

刪除順序值重複的元素

題目描述 設計一個演算法,刪除順序表中值重複的元素(值相同的元素僅保留第一個),使得表中所有元素的值均不相同。其中順序表的動態分配用C語言描述如下:   #define InitSize 100 //表長度的初始定義 typedef int DataTyp

順序的相關操作插入刪除

資料結構之順序表:  邏輯上相鄰的資料,在物理儲存的位置上也是相鄰的。 儲存密度高,需要預先分配空間。後續的程式碼可以看到。 但是它儲存結構跟陣列是一樣,所以也就不便於插入和刪除。當順序表較大時,插入和刪除都會引起大量資料的移動。如果插入和刪除頻繁操作的話,最好使用連結

自己寫的順序的基本操作插入、刪除、修改給出完整程式碼其中運用到goto語句

#include<iostream> using namespace std; #define MAXSIZE 100 typedef int DataType; typedef struct {DataType data[MAXSIZE]; //通常用一位陣列

程式設計實現順序的以下基本操作:建立順序修改順序插入順序刪除順序

#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; typedef int ElemType; typedef int Statu

C語言陣列順序的初始化新增刪除和列印

#include <stdio.h> #include <string.h> #include <stdlib.h> #define maxsize 10//陣列最大長度 typedef struct array {     int data[maxsize];     i

NOIP 模擬賽值濾波 打找規律

超出 數學 printf clas col else 中值濾波 include noi 對於這樣看起來不像什麽算法也沒什麽知識點的題,一臉懵逼的話不是手推規律就是打表找規律......... 當然還有一些超出你能力之外的數學題...... #include <

在Winform播放視頻等DotNetC#

視頻格式 數量 ide () ngs 很多 選擇 有一個 void 在項目中遇到過這樣的問題,就是如何在Winform中播放視頻。當時考察了幾種方式,第一種是直接使用Windows Media Player組件,這種最簡單;第二種是利用DirectX直接在窗體或者控件上繪圖

redis1java操作redis: 將string、list、map、自己定義的對象保存到redis

n) spa 存儲 div ber sys mil 操作 write 一、操作string 、list 、map 對象 1、引入jar: jedis-2.1.0.jar 2、代碼 /

TSQL:A表字段與B的關聯關聯條件一列是隨機關聯的實現方式

sql values order srp and eat 2.6 pre art A表字段與B表中的關聯,關聯條件中一列是隨機關聯的實現方式 1 create table test( 2 rsrp string, 3 rsrq string, 4 tke

將網上的內容讀取到指定文件頁面靜態化

+= rgs 技術 sender AS 一個 click AR 代碼 出錯: 已經將指定頁面的內容讀取到了test.html文件中,但是頁面中有很多的亂碼。 以下是一個簡單的,將aspx文件生成靜態html文件的代碼 protected void Button1_C

matlab怎麼刪除全零行或者列 在matlab如何畫正態分佈圖像

http://www.optzmx.com/thread-8893-1-1.html https://jingyan.baidu.com/article/48b558e3fba8627f38c09a9e.html

oracle11g13空間管理2:undo空間管理(調優) 閃回原理

SQL> col segment_name for a10 SQL> col status for a10; SQL> select segment_name,extent_id,file_id,blocks,bytes/1024 k,status from dba_undo_exten

機器學習入門——1Python 開發環境的安裝 Python(xy)及Pycharm

          在學習機器學習的過程中,我們必不可少的要敲寫一些程式碼。在機器學習領域中用到的語言主要有Matlab、Python、R等語言,由於自身接觸到的環境原因我主要選著Matlab及Pyt

oracle11g13空間管理1:空間,空閒區的管理方式

SQL>  select segment_name,bytes/1024 k,extents,blocks,initial_extent/1024 init,next_extent/1024 next, pct_increase from dba_segments where segment_name

echart關於xy軸資料和刻度的顯示問題以及座標網格的顯示問題

1、x,y軸資料和刻度的顯示,主要由以下兩個配置項決定axisLine:{//axisLine決定是否顯示座標刻度 show:false/true }, axisLabel :{//決定是否顯示資料     show:false/true, }

VS2010]新人求教如何刪除附加依賴項“繼承的值”? [問題點數:40分]

源連結 https://bbs.csdn.net/topics/390733725求教如何才能刪除,之前用過opencv,現在不需要用了,但是每次新建專案都還是會在專案中自動包含。在網上查了很久的方法,憑個人能力實在是無法解決了,希望教大神指點個方向。 在屬性窗口裡左上角的【