c 언어 순서 표 의 기본 동작 - 삽입, 삭제, 찾기, 최대 값
삽입 동작:
#include
#define maxSize 100
typedef struct seqlist {
int data[maxSize];
int length;
}seqlist;
int insertElem(seqlist *s, int p, int e) {
if (p<0 || p>s->length) { // s->length (*s).length
return 0;
}
for (int i = s->length-1; i >= p; i--) {
s->data[i + 1] = s->data[i];
}
(*s).data[p] = e;
++s->length;
return 1;
}
int main() {
int p = 2, e = 10010;
seqlist s;
s.length = 5;
s.data[0] = 0;
s.data[1] = 1;
s.data[2] = 2;
s.data[3] = 3;
s.data[4] = 4;
int flag = insertElem(&s, p, e);
if (!flag)
printf("fault!!!
");
for (int i = 0; i < s.length; i++)
printf("a[%d]=%d
", i, s.data[i]);
}
삭제, 찾기 동작:
#include
#define maxsize 100
struct sqlist {
int a[maxsize];
int length;
};
int delete(struct sqlist* s, int p) {
int i;
if (p<0 || p>(*s).length)
return 0;
for (i = p; i <= s->length - 1; i++) {
s->a[i] = s->a[i + 1];
}
--s->length;
return 1;
}
int search(struct sqlist s, int e) {
int i;
for (i = 0; i < s.length; i++) {
if (s.a[i] == e)
return i;
else return -1; // return
}
}
int main() {
int i;
struct sqlist s;
s.length = 5;
s.a[0] = 0; s.a[1] = 1;
s.a[2] = 2; s.a[3] = 3; s.a[4] = 4;
//delete(&s,0);
int p = search(s, 4);
printf("%d
", p);
return 0;
}
최대 값 으로 가기 (최대 값):
int findMax(seqlist* s) {
int index = 0, max = s->data[0];
for (int i = 0; i < s->length; i++) {
if (max < s->data[i]) {
index = i;
max = s->data[i];
}
}
return max;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.