工程需要用到以下几个文件,题主用的codeblocks C语言
```
```******
工程需要用到以下几个文件,题主用的codeblocks C语言
```
```******
一看就是华师的伢,贴一个老师写的代码,排序法要自己写,否则0分哦
#include "cl.h"
#include "bo2-2.c"
#define _CRT_SECURE_N0_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void visit(ElemType c) //打印
{
printf("%lf %lf\n",c.real,c.imag);
}
double AbsComplex(ElemType z) //取模
{
double r=0;
r=sqrt(z.real*z.real+z.imag*z.imag);
return r;
}
void BubbleSort(LinkList *L) //单链表实现冒泡排序
{
int i,count=0,num; //count 将记录链表结点数,num 为内循环次数
LinkList p,q,tail;
InitList(&p);
InitList(&q);
InitList(&tail); //创建三个指针进行冒泡排序
p=*L;
while(p->next!=NULL) //计算链表结点数 count
{
count++;
p=p->next;
}
for(i=0;i<count-1;i++) //冒泡法外循环
{
num=count-i-1; //num 为内循环次数
q=(*L)->next; //令 q 指向第一个结点
p=q->next; //令 p 指向下一个结点
tail=*L; //令 tail 指向 q 的前一个结点
while(num--) //冒泡法内循环
{
if(AbsComplex(q->data)>AbsComplex(p->data))
//如果前面指向的 data 比后面指向的 data 大,则交换
{
q->next=p->next;
p->next=q;
tail->next=p;
}
tail=tail->next; //tail 指向下一结点,避免重复循环
q=tail->next;
p=q->next;
}
}
}
void main()
{
LinkList La;
ElemType e;
int i,j,k,lenth,tem;
ElemType scan;
InitList(&La);
printf("please input six Complex numbers:\n");
for(i=0;i<6;i++)
{
scanf("%lf %lf",&scan.real,&scan.imag);
ListInsert(La,i+1,scan);
}
printf("LaList Element=:\n"); //创建好的链表
ListTraverse(La,visit);
BubbleSort(&La); //排序
printf("sorted Element=:\n"); //排序好的链表
ListTraverse(La,visit);
system("pause");
}