데이터 구조 순서 표 의 간단 한 배열
4918 단어 데이터 구조
인쇄 순서 표
끝 에 원 소 를 삽입 하 다.
첫 번 째 지정 요소 만 삭제
모든 지정 요소 삭제
순서 표 가 비어 있 는 지 판단 하기 빈 곳 으로 1 을 되 돌려 주 고 빈 곳 으로 0 을 되 돌려 주지 않 습 니 다.
거품 정렬
#pragma once
#include
#define SeqListMax 1000
#define TITLE printf("
==============%s==============
",__FUNCTION__);
typedef char SeqType;
typedef struct SeqList{
SeqType data[SeqListMax];
size_t size;
}SeqList;
void SeqListInit(SeqList* seq); //
void SeqListPrint(SeqList *seq);//
void SeqListPushBack(SeqList* seq, SeqType value); //
void SeqListRemove(SeqList* seq, SeqType value); //
void SeqListRemoveAll(SeqList* seq, SeqType value);//
void SeqListBubbleSort(SeqList* seq); //
size_t SeqListSize(SeqList* seq); //
//void SeqListBubbleSortEx(SeqList* seq);//
#include "seqlist.h"
void SeqListInit(SeqList* seq)
{
if(seq==NULL)
return;
seq->size=0;
}
void SeqListPrint(SeqList* seq)
{
if(seq==NULL)
return;
size_t i = 0;
for(;isize;i++)
{
printf("[%c] ",seq->data[i]);
}
printf("
");
}
void SeqListPushBack(SeqList* seq, SeqType value)
{
if(seq==NULL)
return;
if(seq->size>=SeqListMax)
{
printf(" !
");
return;
}
seq->data[seq->size]=value;
seq->size++;
}
void SeqListRemove(SeqList* seq, SeqType value)
{
if(seq==NULL)
return;
if(seq->size==0)
//
return;
int i = 0;
for(;isize;i++)
{
if(seq->data[i]==value)
break;
}
for(;isize;i++)
{
seq->data[i]=seq->data[i+1];
}
}
void SeqListRemoveAll(SeqList* seq, SeqType value)
{
if(seq==NULL)
return;
if(seq->size==0)
//
return;
int i = 0;
int flag = 0;
for(;isize;i++)
{
if(seq->data[i]==value)
flag++;
}
for(i=0;isize==0)
return 1;
else
return 0;
}
void swap(SeqType* a,SeqType* b)
{
SeqType x;
x = *a;
*a = *b;
*b = x;
}
void SeqListBubbleSort(SeqList* seq)
{
if(seq==NULL)
return;
int i = 0;
for(;isize;i++)
{
int j = 0;
for(;jsize-1-i;j++)
{
if(seq->data[j]>seq->data[j+1])
swap(&seq->data[j],&seq->data[j+1]);
}
}
}
// //
///
void TestSeqListInit()
{
TITLE;
SeqList seq;
SeqListInit(&seq);
}
void TestSeqListPushBack()
{
TITLE;
SeqList seq;
SeqListInit(&seq);
SeqListPushBack(&seq,'a');
SeqListPushBack(&seq,'b');
SeqListPushBack(&seq,'c');
SeqListPushBack(&seq,'d');
SeqListPrint(&seq);
}
void TestSeqListRemove()
{
TITLE;
SeqList seq;
SeqListInit(&seq);
SeqListPushBack(&seq,'a');
SeqListPushBack(&seq,'b');
SeqListPushBack(&seq,'b');
SeqListPushBack(&seq,'c');
SeqListPushBack(&seq,'d');
SeqListRemove(&seq,'b');
SeqListPrint(&seq);
}
void TestSeqListRemoveAll()
{
TITLE;
SeqList seq;
SeqListInit(&seq);
SeqListPushBack(&seq,'a');
SeqListPushBack(&seq,'b');
SeqListPushBack(&seq,'b');
SeqListPushBack(&seq,'c');
SeqListPushBack(&seq,'d');
SeqListRemoveAll(&seq,'b');
SeqListPrint(&seq);
}
void TestSeqListSize()
{
TITLE;
int i = 0;
SeqList seq;
SeqListInit(&seq);
SeqListPushBack(&seq,'a');
SeqListPushBack(&seq,'b');
SeqListPushBack(&seq,'c');
SeqListPushBack(&seq,'d');
i = SeqListSize(&seq);
printf("[%d]
",i);
SeqListInit(&seq);
i = SeqListSize(&seq);
printf("[%d]
",i);
}
TestSeqListBubbleSort()
{
TITLE;
SeqList seq;
SeqListInit(&seq);
SeqListPushBack(&seq,'d');
SeqListPushBack(&seq,'b');
SeqListPushBack(&seq,'c');
SeqListPushBack(&seq,'a');
SeqListPrint(&seq);
SeqListBubbleSort(&seq);
SeqListPrint(&seq);
}
int main()
{
TestSeqListInit();
TestSeqListPushBack();
TestSeqListRemove();
TestSeqListRemoveAll();
TestSeqListSize();
TestSeqListBubbleSort();
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.