数字:
typedef struct {
int presetNumber;
int time;
} SETUP;
//SETUP为要插入到的结构体数组, insert为要插入的数字,totle为数组长度
int insert(SETUP a[], int insert, int *totle)
{
int i, j, mid;
i = 0;
j = *totle-1;
while (i<=j) {
mid = (i+j)/2;
if (a[mid].presetNumber > insert)
j = mid-1;
else if( a[mid].presetNumber < insert)
i = mid+1;
else
return 0; //数组中有此元素
}
for(j=*totle; j>=i; j--)
a[j] = a[j-1]; //整个结构体拷贝
a[i].presetNumber = insert;
(*totle)++;
printf("*totle=%d/n",*totle);
for(i=0; i< *totle; i++)
{
printf("%d/n/n",a[i].presetNumber);
}
return 1; //进行插入操作了 要写文件
}
字符串:
typedef struct {
char presetNumber[8];
char time[8];
} SETUP;
//insert为要插入的字符串
int insert(SETUP a[], char *insert, int *totle)
{
int i, j, k, mid;
i = 0;
j = *totle-1;
while (i<=j) {
mid = (i+j)/2;
k = strcmp(a[mid].presetName, insert);
if (k > 0)
j = mid-1;
else if( k < 0)
i = mid+1;
else
return 0; //数组中有此元素
}
for(j=*totle; j>=i; j--)
a[j] = a[j-1]; //整个结构体拷贝
strncpy(a[i].presetName, insert, strlen(insert) + 1);
(*totle)++;
printf("*totle=%d/n",*totle);
for(i=0; i< *totle; i++)
{
printf("%s/n/n",a[i].presetNname);
}
return 1; //进行插入操作了
}