데이터 구조 - 선형 표 의 수립 과 질서 있 는 출력
4408 단어 데이터 구조
#include
#include
# define LIST_INIT_SIZE 100
# define LISTINCREMENT 10
# define ElemType int
# define OVERFLOW -1
# define ERROR -1
using namespace std;
typedef struct {
ElemType *elem;
int length;
int listsize;
}SqList;
void InitList_Sq(SqList &L)
{
L.elem = (ElemType * )malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(! L.elem)
exit(OVERFLOW);
L.length = 0;
L.listsize = LIST_INIT_SIZE;
}
int ListInsert_Sq(SqList &L, int i, ElemType e)
{
if(i > L.length)
{
cout << "ERROR";
return ERROR;
}
if(L.length >= L.listsize)
{
ElemType *newbase;
newbase = (ElemType *)realloc(L.elem,(L.listsize + LISTINCREMENT) * sizeof(ElemType));
if(!newbase)
exit(OVERFLOW);
L.elem = newbase;
L.listsize += LISTINCREMENT;
}
if(L.length == 0)
{
L.elem[0] = e;
L.length++;
return 1;
}
else
{
ElemType *p, *q;
int wh;
for(wh = 0; wh < L.length; wh++)
{
if( L.elem[wh] > e)
break;
}
q = &L.elem[wh];
for( p = &(L.elem[L.length-1]); p >= q; p--)
*(p+1) = *p;
*q = e;
L.length++;
}
}
int main ()
{
SqList L;
InitList_Sq(L);
int e;
int n;
cout << "Please input n:" << endl;
cin >> n;
cout << "Please input elem:" << endl;
for(int i = 0; i < n; i++)
{
cin >> e;
ListInsert_Sq( L, i, e);
}
cout << "Output the SqList:" << endl;
for(int i = 0; i < L.length; i++)
cout << L.elem[i] << " ";
cout << endl;
free(L.elem);
L.elem = NULL;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.