선형 표 순서 저장 전체 코드

**
* * / / 순서 저장 \ # 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 언어 소 백 은 아직 부족 합 니 다. 비판 지적 을 환영 합 니 다 \ # \ # \ # \ # \ #

좋은 웹페이지 즐겨찾기