C 언어 데이터 구조의 순서 표 와 단일 체인 표
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
struct sqlist {
int date[10];
int length;
};
void InitList(sqlist& L) {
for (int i = 0;i < 10;i++) {
L.date[i] = 0;
}
L.length = 0;
}
void charu(sqlist& L) {
for (int j = 0;j < 5;j++) {
scanf("%d", &L.date[j]);
L.length++;
}
}
void ListInsert(sqlist& L, int i, int e) {
for (int k = L.length;k >= i;k--) {
L.date[k] = L.date[k - 1];
}
L.date[i - 1] = e;
L.length++;
}
void print(sqlist& L) {
for (int i = 0;i < L.length;i++) {
printf("%d ", L.date[i]);
}
printf("
");
}
void ListDelete(sqlist& L, int i, int e) {
for (int j = i;j < L.length;j++) {
L.date[j-1] = L.date[j];
}
L.length--;
}
int main() {
sqlist L;// L
InitList(L);//
shuru(L);//
ListInsert(L, 3, 3);//
print(L);//
ListDelete(L, 3, 3);//
print(L);
return 0;
}
이상 의 조작 은 순서 표 의 생 성,삽입,삭제 와 인쇄 를 각각 실현 하 였 다.2.단일 체인 시트 의 생 성,삭제,증가 와 출력
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
struct ListNode {
int num;
struct ListNode* next;
};
struct ListNode* create(struct ListNode* head) {
struct ListNode * p1, * p2;
p1 = p2 = (struct ListNode*)malloc(sizeof(struct ListNode));
scanf("%d", &p1->num);
while (p1->num!=0){
if (head == NULL) {
head = p1;
}
else {
p2->next = p1;
}
p2 = p1;
p1= (struct ListNode*)malloc(sizeof(struct ListNode));
scanf("%d", &p1->num);
}
p2->next = NULL;
free(p1);
return head;
}
void print(struct ListNode* head) {
while (head != NULL) {
printf("%d ", head->num);
head = head->next;
}
}
int main() {
struct ListNode* head=NULL;
head=create(head);//
print(head);//
return 0;
}
이상 동작 은 링크 를 만 들 고 인쇄 하 는 것 입 니 다.효 과 는 다음 과 같 습 니 다.삽입 작업 추가
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
struct ListNode {
int num;
struct ListNode* next;
};
struct ListNode* create(struct ListNode* head) {
struct ListNode * p1, * p2;
p1 = p2 = (struct ListNode*)malloc(sizeof(struct ListNode));
scanf("%d", &p1->num);
while (p1->num!=0){
if (head == NULL) {
head = p1;
}
else {
p2->next = p1;
}
p2 = p1;
p1= (struct ListNode*)malloc(sizeof(struct ListNode));
scanf("%d", &p1->num);
}
p2->next = NULL;
free(p1);
return head;
}
void print(struct ListNode* head) {
while (head != NULL) {
printf("%d ", head->num);
head = head->next;
}
printf("
");
}
struct ListNode* insert(struct ListNode* head,int i) {
struct ListNode* p1,*p2,*p;
p1 =p2= head;
for (int j = 1;j < i;j++) {
p2 = p1;
p1 = p1->next;
}
p= (struct ListNode*)malloc(sizeof(struct ListNode));
printf(" :");
scanf("%d", &p->num);
p2->next = p;
p->next = p1;
return head;
}
int main() {
struct ListNode* head=NULL;
int a, b;
head=create(head);
print(head);
printf(" :");
scanf("%d", &a);
head = insert(head,a);//
print(head);
return 0;
}
효 과 는 다음 과 같 습 니 다:삭제 작업 추가
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
struct ListNode {
int num;
struct ListNode* next;
};
struct ListNode* create(struct ListNode* head) {
struct ListNode * p1, * p2;
p1 = p2 = (struct ListNode*)malloc(sizeof(struct ListNode));
scanf("%d", &p1->num);
while (p1->num!=0){
if (head == NULL) {
head = p1;
}
else {
p2->next = p1;
}
p2 = p1;
p1= (struct ListNode*)malloc(sizeof(struct ListNode));
scanf("%d", &p1->num);
}
p2->next = NULL;
free(p1);
return head;
}
void print(struct ListNode* head) {
while (head != NULL) {
printf("%d ", head->num);
head = head->next;
}
printf("
");
}
struct ListNode* insert(struct ListNode* head,int i) {
struct ListNode* p1,*p2,*p;
p1 =p2= head;
for (int j = 1;j < i;j++) {
p2 = p1;
p1 = p1->next;
}
p= (struct ListNode*)malloc(sizeof(struct ListNode));
printf(" :");
scanf("%d", &p->num);
p2->next = p;
p->next = p1;
return head;
}
struct ListNode* Delete(struct ListNode* head, int i) {
struct ListNode* p1, * p2;
p1 = p2 = head;
while (p1!=NULL&&p1->num != i) {
p2 = p1;
p1 = p1->next;
}
if (p1 == head) {
head = head->next;
}
else {
p2->next = p1->next;
}
return head;
}
int main() {
struct ListNode* head=NULL;
int a, b;
head=create(head);
print(head);
printf(" :");
scanf("%d", &a);
head = insert(head,a);
print(head);
printf(" :");
scanf("%d", &b);
head = Delete(head, b);//
print(head);
return 0;
}
효 과 는 다음 과 같 습 니 다:그래서 우 리 는 단일 체인 시트 의 생 성,삭제,증가 와 출력 을 실현 했다.
총결산
여기 서 C 언어 데이터 구조 에 관 한 순서 표 와 단일 체인 표 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 C 언어 순서 표 와 단일 체인 표 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
c 언어 간단한 파일 r/w 조작 방법데이터의 입력과 출력은 거의 모든 C 언어 프로그램과 수반된다. 입력이란 원본에서 데이터를 얻는 것이다. 출력은 단말기에 데이터를 쓰는 것으로 이해할 수 있다.이곳의 원본은 키보드, 마우스, 하드디스크, 시디, 스캐...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.