1 #include"SeqList.h"
2 void SeqListInit(SeqList*seqlist)
3 {
4 if(seqlist==NULL)
5 {
6 return;
7 }
8 seqlist->size=0;
9 }
10 void SeqListPushBack(SeqList*seqlist,SeqListType value)
11 {
12 if(seqlist==NULL)
13 {
14 return;
15 }
16 if(seqlist->size>SeqListMaxSize)
17 {
18 return;
19 }
20 seqlist->data[seqlist->size]=value;
21 ++seqlist->size;
22 return;
23 }
25 void SeqListSelectSort(SeqList*seqlist)
26 {
27 if(seqlist==NULL)
28 {
29 return;
30 }
31 if(seqlist->size<=1)
32 {
33 return;
34 }
35 size_t count=0;
36 for(;count<seqlist->size-1;++count)
37 {
38 size_t cur=count+1;
39 for(;cur<seqlist->size;++cur)
40 {
41 if(seqlist->data[count]>seqlist->data[cur])
42 {
43
44 size_t tmp=0;
45 tmp=seqlist->data[count];
46 seqlist->data[count]=seqlist->data[cur];
47 seqlist->data[cur]=tmp;
48 }
49 }
50 }
51 }
52
53 / 以下为测试代码
54 #include<stdio.h>
55 SeqListPrintchar(SeqList*seqlist,const char* msg)
56 {
57 if(seqlist==NULL)
58 {
59 return;
60 }
61 printf("[%s]\n",msg);
62 size_t i=0;
63 for(;i<seqlist->size;++i)
64 {
65 printf("%c",seqlist->data[i]);
66 }
67 }
68 void TextSelectsort()
69 {
70 SeqList seqlist;
71 SeqListInit(&seqlist);
72 SeqListPushBack(&seqlist,'b');
73 SeqListPushBack(&seqlist,'a');
74 SeqListPushBack(&seqlist,'d');
75 SeqListPushBack(&seqlist,'c');
76 SeqListSelectSort(&seqlist);
77 SeqListPrintchar(&seqlist,"SeqListSelectSort :");
78 }
79 int main()
80 {
81 TextSelectsort();
82 return;
83 }
头文件:
2 #pragma once
3 #include<stddef.h>
4 #define SeqListMaxSize 100
5 typedef char SeqListType;
6 typedef struct SeqList
7 {
8 SeqListType data[SeqListMaxSize];
9 size_t size;
10 }SeqList;
11 void SeqListInit(SeqList *seqlist);
12 void SeqListPushBack(SeqList* seqlist,SeqListType value);
13 void SeqListSelectSort(SeqList*seqlist);