电商专业学习嵌入式软件开发第三十七天

  • C第十一天

今天总共讲了5题,4题排序,讲完排序之后发现还有时间,就给我们讲了双向链表,仍然是拿昨天的那个题目给我们,结果再一次的没有做出来,虽然答案只是在昨天的基础上稍作修改。老师也发现我们现在缺少的是将思维转化为代码的能力,虽然能看懂,但是自己写不出来,在这方面需要多多练习。

//冒泡排序
#include
void swap(int a[],int n)
{
    int i,j;
    for(j = 1;j <= n-1;j++) //此处默认数组下标从a[1]开始
    {
        for(i = 1;i <= n-j;i++)
        {
            if(a[i] > a[i+1])
            {
                a[0] = a[i];    //a[0]相当于交换函数int temp;
                a[i] = a[i+1];
                a[i+1] = a[0];
            }   
        }
    }
}
int main()
{
    int a[30],i;
    for(i = 1;i <= 10;i++)
    scanf("%d",&a[i]);
    swap(a,10);
    for(i = 1;i <= 10;i++)
    printf("%d ",a[i]);
    printf("\n");
}
//选择排序
#include 
void Sort(int a[],int n)
{
    int i,j,k;
    for(i=1;i<=n-1;i++)
    {
        //确定位置的值
        k=i;
        for(j=i+1;j<=n;j++)
        {
            if(a[k]>a[j])
            {
                k=j;
            }
        }
        if(k!=i)
        {
            a[0]=a[i];
            a[i]=a[k];
            a[k]=a[0];
        }
    }
}
void main()
{
    int a[30],i;
    for(i=1;i<=10;i++)
        scanf("%d",&a[i]);
    Sort(a,10);
    for(i=1;i<=10;i++)
        printf("%d ",a[i]);
    printf("\n");
}
//快速排序
#include 
int Find(int a[],int low,int high)
{
    a[0]=a[low];
    while(low a[low])
            low++;
        if(low
//直接插入排序
#include 
void Sort(int a[],int n)
{
    int i,j;
    for(i=2;i<=n;i++)
    {
        if(a[i]

双向链表

//练习:从键盘输入一串字符,以此建立一条双向链表,并输出。
#include 
#include 
struct node 
{
    char data;
    struct node *prior;
    struct node *next;
};
struct node *Create()
{
    char c;
    struct node *head=(struct node *)malloc(sizeof(struct node));
    head->next=NULL;
    head->prior=NULL;
    struct node *last=head;
    while((c=getchar())!='\n')
    {
        struct node *q=(struct node *)malloc(sizeof(struct node));
        q->data=c;
        last->next=q;
        q->prior=last;
        last=q;
    }
    last->next=NULL;
    return head;
}
void Print(struct node *head)
{
    struct node *p=head->next;
    while(p)
    {
        putchar(p->data);
        p=p->next;
    }
    putchar('\n');
}
void main()
{
    struct node *head=Create();
    Print(head);
}    

你可能感兴趣的:(电商专业学习嵌入式软件开发第三十七天)