선형 테이블 순서 저장 소
2419 단어 데이터 구조
O(1) > O(logn) > O(n) > O(nlogn) > O(n^2) > O(n^3) > O(2^n) > O(n!) > O(n^n)
선형 테이블 순서 저장 소
// ----
#include
#include
#define MAXSIZE 1024
typedef int ElementType;
typedef struct
{
ElementType data[MAXSIZE]; //
int length; //
}SqList;
SqList * InitList(SqList * L); // ( )
int GetElem(SqList * L, int i, ElementType * e); // L i e
int ListInsert(SqList * L, int i, ElementType e); //
int ListDelete(SqList * L, int i, ElementType * e); //
int PrintList(SqList * L); //
int ClearList(SqList * L); //
int DestoryList(SqList * L); //
int main()
{
SqList * L = NULL;
L = InitList(L);
if (L!=NULL) {
printf(" ( )
");
}
ListInsert(L, 1, 999);
ListInsert(L, 2, 888);
ListInsert(L, 3, 777);
PrintList(L);
printf("
...
");
ClearList(L);
PrintList(L);
}
// ( )
SqList * InitList(SqList * L)
{
L = (SqList *)malloc(sizeof(SqList));
if (L!=NULL) {
L->length = 0;
}
return L;
}
// L i e
int GetElem(SqList * L, int i, ElementType *e)
{
if (L->length == 0 || iL->length) {
return 0;
}
*e = L->data[i-1];
return 1;
}
//
int ListInsert(SqList * L, int i, ElementType e)
{
if (L->length == MAXSIZE) { //
return 0;
}
if (i<1 || i>L->length + 1) {
return 0;
}
if (i<=L->length) {
for (int k = L->length - 1; k>=i-1; k--) {
L->data[k+1] = L->data[k];
}
}
L->data[i-1] = e;
L->length++;
return 1;
}
//
int ListDelete(SqList * L, int i, ElementType *e)
{
if (L->length == 0) {
return 0;
}
if (i<1 || i>L->length) {
return 0;
}
*e = L->data[i-1];
if (ilength) {
for (int k = i; klength;k++) {
L->data[k-1] = L->data[k];
}
}
L->length--;
return 1;
}
//
int PrintList(SqList * L)
{
if (L->length == 0) {
printf(" !
");
}
for (int i = 0; i< L->length; i++) {
printf("a[%d]=%d\t", i, L->data[i]);
if ((i + 1) % 5 == 0) {
printf("
");
}
}
return 1;
}
//
int ClearList(SqList * L)
{
L->length = 0;
return 1;
}
//
int DestoryList(SqList * L)
{
free(L);
return 1;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.