首页 > 代码库 > 2.2.3线性表的顺序表示-1

2.2.3线性表的顺序表示-1

2017-04-14

二、综合应用题

1.从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出。

 

 1 #include<iostream>
 2 #include<stdio.h>
 3 #define MaxSize 50//定义线性表的最大长度
 4 typedef int ElemType;
 5 
 6 typedef struct {
 7     ElemType data[MaxSize];
 8     int length;
 9 }SqList;
10 
11 ElemType DeleteMin(SqList &L)
12 {
13     if (L.length == 0)
14         return false;
15     ElemType e;
16     int min = 0;
17     for (int i = 1; i < L.length; i++)
18     {
19         if (L.data[i] < L.data[min])
20             min = i;
21     }
22     e = L.data[min];
23     L.data[min] = L.data[L.length - 1];
24 
25     return e;
26 }
27 
28 int main()
29 {
30     SqList L;
31     //L.data = http://www.mamicode.com/{ 2,4,3,5,1,6,0,8,9,10 };
32     L.data[0] = 2;
33     L.data[1] = 4;
34     L.data[2] = 3;
35     L.data[3] = 5;
36     L.data[4] = 1;
37     L.data[5] = 6;
38     L.data[6] = 0;
39     L.data[7] = 8;
40     L.data[8] = 9;
41     L.data[9] = 10;
42     L.length = 10;
43 
44     ElemType e = DeleteMin(L);
45     printf("%d", e);
46 
47     system("pause");
48     return 0;
49 }

 

2.2.3线性表的顺序表示-1