# CC which means gcc
CC := gcc
#
.PHONY: build
build: sqlist
# sqlist is a binary file
sqlist: sqlist.o
$(CC) -o $@ sqlist.o
sqlist.o: sqlist.c
$(CC) -c -g sqlist.c
.PHONY: clean
clean:
rm -rf sqlist sqlist.o
.PHONY: clean_log
clean_log:
rm -rf .gdb_history
root@DESKTOP-4VN4G0C:/Desktop/DS# make clean
rm -rf sqlist sqlist.o
root@DESKTOP-4VN4G0C:/Desktop/DS# make clean_log
rm -rf .gdb_history
root@DESKTOP-4VN4G0C:/Desktop/DS# make build
gcc -c -g sqlist.c
gcc -o sqlist sqlist.o
easy demo
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#include "time.h"
#define MAXSIZE 1024
typedef int Elemtype;
typedef struct SqList
{
Elemtype data[MAXSIZE];
int length;
int size;
}SqList,*SqListPtr;
void InitSqList(SqListPtr L,int *list);
int SqListNulL(SqListPtr L);
int FindMin(SqListPtr L);
void DeleteMin(SqListPtr L,Elemtype * e);
void SqListShow(SqListPtr L);
int main();
int main()
{ Elemtype temp;
int numlist[10];
srand((unsigned)time(NULL));
for (int i=0;i<=9;i++)
numlist[i]=rand()%50;
SqList L ;
InitSqList(&L,numlist);
SqListNulL(&L);
SqListShow(&L);
DeleteMin(&L,&temp);
SqListShow(&L);
}
void InitSqList(SqListPtr L,int *list)
{
memset(L->data,0,1024);
for (int i=0;i<=9;i++)
L->data[i]=list[i];
L->length = 10;
}
int SqListNulL(SqListPtr L)
{
if (L->length ==0)
{
printf("the SqList is null");
exit(0);
}
}
int FindMin(SqListPtr L)
{
Elemtype min;
int idx =0;
min = L->data[0];
for (int i=1;i<L->length;i++)
if(min > L->data[i])
{
min = L->data[i];
idx =i;
}
return idx;
}
void DeleteMin(SqListPtr L,Elemtype * e)
{
int idx =FindMin(L);
*e = L->data[idx];
L->data[idx]=L->data[L->length-1];
L->length-=1;
}
void SqListShow(SqListPtr L)
{
for (int i=0;i<L->length;i++)
printf("%d ",L->data[i]);
printf("\n");
}