선형 표 순서 저장 전체 코드
* * / / 순서 저장 \ # include \ # include \ # include \ # define MAXSIZE 20 \ # define ERROR - 1
typedef int Position; typedef int ElementType;
typedef struct LNode* PtrToLNode; struct LNode { ElementType Data[MAXSIZE]; Position Last; }; typedef PtrToLNode List;
List L;
/ / 1. List MakeEmpty () {L = (List) malloc (size of (struct LNode)); L - > Last = - 1;
return L;
}
/ / 2. 순서 표 void Create List () {int i = 0, data = 0; printf ("한 그룹의 정 수 를 입력 하여 - 1 로 끝 냅 니 다:"); scanf s ("% d", & data);
while (data != -1 && L->Last < MAXSIZE)
{
L->Data[i] = data;
L->Last++;
i++;
scanf_s("%d", &data);
}
printf(" !
");
if (L->Last == MAXSIZE)
printf(" !");
}
/ / 3. Position Find (Element Type X) {Position i = 0; while (i < = L - > Last & L - > Data [i]! = X) i + +; if (i > L - > Last) return ERROR; / / 검색 실패 else return i; / / 성공 적 으로 X 로 돌아 온 위치, 즉 i} 찾기
/ 4. bool Insert (Element Type X, int i) / i (i 아래 i - 1) 개 요 소 를 삽입 하기 전에 새로운 요소 X {Position j 를 삽입 합 니 다.
if (L->Last == MAXSIZE - 1)
printf(" ");
if (i<1 || i>L->Last + 2)
{
printf(" ");
return false;
}
for (j = L->Last; j >= i + 1; j--)
{
L->Data[j + 1] = L->Data[j];// i
}
L->Data[i - 1] = X;
L->Last++;
return true;
}
/ / 5. bool Delete (int i) / / L 에서 지정 한 비트 순서 i 요 소 를 삭제 하고 i 아래 에 i - 1 {Position j 로 표시 합 니 다.
if (i<1 || i>L->Last + 1)
{
printf(" ");
return false;
}
for (j = i; j <= L->Last; j++)
L->Data[j - 1] = L->Data[j];
L->Last--;
return true;
}
/ / 주 함수 int main () {
int choice;
while (1)
{
printf("########################
");
printf("1.
");
printf("2.
");
printf("3.
");
printf("4.
");
printf("5.
");
printf("0.
");
printf("########################
");
printf(" :
");
scanf_s("%d", &choice);
switch (choice)
{
case 1:
{
printf("1. ...
");
MakeEmpty();
if (L->Last == 1)
{
printf(" !
");
printf(" :%d
", L->Last);
}
break;
}
case 2:
{
printf("2. ...
");
CreateList();
break;
}
case 3:
{
printf("3. ...
");
int x_1;//
printf(" :
");
scanf_s("%d
", &x_1);
Find(x_1);
if (Find(x_1) == -1)
printf("
");
else
printf(" ! %d
", Find(x_1)+1);
break;
}
case 4:
{
printf("4. ...
");
int x_2, position_1;
printf(" :
");
scanf_s("%d
", &x_2);
printf(" :
");
scanf_s("%d
", &position_1);
Insert(x_2, position_1);
if (Insert(x_2, position_1) == true)
printf(" !
");
if (Insert( x_2, position_1) == false)
printf(" !
");
break;
}
case 5:
{
printf("5. ...
");
int position_2;
printf(" :
");
scanf_s("%d
", &position_2);
Delete(position_2);
if (Delete(position_2) == true)
printf(" !
");
if (Delete(position_2) == false)
printf(" !
");
break;
}
case 0:
{
return 0;
break;
}
default:
printf(" ,
");
break;
}
scanf_s("%c", &choice);
}
return 0;
}
\ # \ # \ # \ # \ # \ # \ # \ # C 언어 소 백 은 아직 부족 합 니 다. 비판 지적 을 환영 합 니 다 \ # \ # \ # \ # \ #
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.