顺序表的建立、输入、输出、查找、插入、删除(数据结构)

1.顺序表的基本操作实践。

(1)建立4个元素的顺序表list[]={2,3,4,5},实现顺序表建立的基本操作。

(2)在list[]={2,3,4,5}的元素4和5之间插入一个元素9,实现顺序表插入的基本操作。

(3)在list[]={2,3,4,9,5}中删除指定位置(i=3)上的元素4,实现顺序表的删除的基本操作。

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#define MAXSIZE 10
using namespace std;

typedef int ElemType;
typedef struct {
    ElemType a[MAXSIZE];
    int length;
} S;
void CreatList(S &L) {
    scanf("%d", &L.length);
    for(int i = 1; i <= L.length; i ++) scanf("%d",&L.a[i]);
}   //创建列表
void PutList(S L) {
    for(int i = 1; i <= L.length; i ++) {
        printf("%d ",L.a[i]);
    }
    printf("\n");
}  //输出列表
void InserElem(S &L, int i, ElemType x) {               j      i
    if(i < 1 || i > L.length) return;             2 3 4 5      9
    for(int j = L.length+1; j > i; j --) {              j-1  j
        L.a[j] = L.a[j-1];                        2 3 4  9   5
    }
    L.a[i] = x;
    L.length++;
} //插入
void DeleElem(S &L, int i) {
    for(int j = i; j < L.length; j ++) {
        L.a[j] = L.a[j+1];                         j j+1
    }                                          2 3 4  9  5
    L.length--;
}//删除int main() {
    S L;
    CreatList(L);
    InserElem(L,4,9);
    PutList(L);
    DeleElem(L,3);
    PutList(L);
    return 0;
}

结果

E:\c++>b
4
2 3 4 5
2 3 4 9 5
2 3 9 5

 

posted @ 2018-04-13 23:02  糖小俊  阅读(16533)  评论(0编辑  收藏  举报