#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
typedef int DataType;
#define ListSize 100
//顺序表
typedef struct {
DataType data[ListSize];
int length;
}SeqList;
//初始一个
SeqList InitList(SeqList* L, DataType x[],int length) {
//int length= sizeof(x) / sizeof(DataType);
for (int i = 0; i < length; i++)
{
L->data[i] = x[i];
}
L->length = length;
return *L;
}
void InsertList(SeqList* L, int i, DataType x) {
int j;
if (i<1 || i>L->length + 1) {
printf("");
return ;
}
if (L->length >= ListSize) {
printf(""); return;
}
for ( j = L->length-1; j >=i-1; j--)
{
L->data[j+1] = L->data[j];
}
L->data[i - 1] = x;
L->length++;
}
//DataType DeleteList(SeqList* L, int i) {
// if (i<1 || i > L->length)
// {
// printf("");
// // exit(0);
// }
// int j;
// DataType x;
// x = L->data[i];
// //前移
// for ( j = i-1; j < L->length; j++)
// {
// L->data[j] = L->data[j + 1];
// }
// return x;
//}
//SeqList Converts(SeqList L) {
// DataType x;
// int i, k=L.length/2;
// for ( i = 0; i < k; i++)
// {
// x = L.data[i];
// L.data[i] = L.data[L.length - i - 1];
// L.data[L.length - i - 1] = x;
// }
// return L;
//}
//最大最小
void MaxMin(SeqList l, DataType* max, DataType* min, int* k, int* j) {
int i;
*max = l.data[0]; *min = l.data[0];
*k = *j = 1;
for ( i = 1; i < l.length; i++)
{
if (l.data[i] > * max)
{
*max = l.data[i];
*k = i;
}
if (l.data[i] < * min)
{
*min = l.data[i];
*j = i;
}
}
}
void main() {
SeqList L ;
DataType dt[] = { 8,21,3,5,7,9,11,13 };
int length = sizeof(dt) / sizeof(DataType);
InitList(&L, dt,length);
DataType omax, omin; int ok, oj;
MaxMin(L, &omax, &omin, &ok, &oj);
cout << omax << "index:" << ok << endl;
cout << omin << "index:" << oj << endl;
}