求n个数中最小差值绝对值
-数据结构题目
题目:给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。
算法思想:用比较的方法,通过差值的计算,逐个数据地找出与当前元素数据差值最小的元素,再将差值的绝对值返回。
c++代码如下:
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef struct LNode
{
struct LNode *prior; //指针域
int data; //数据域
struct LNode *next; //指针域
int freq; //频度域
} LNode, *LinkList;
typedef struct SListInfo
{
LinkList head; //表头结点指针
LinkList tail; //表尾结点指针
LNode *pCurNode; //当前结点指针位置
int length; //单链表的长度(元素个数)
} SListInfo;
void InitList( SListInfo &L )
{
//初始化单链表
cout<<"-进行初始化单链表操作-"<<endl;
L.head = (LNode *)malloc(sizeof(LNode)); //申请头结点存储空间
if( L.head == NULL )
cout<<"error1"<<endl; //存储空间申请失败
L.head->next = NULL; //头结点后无其他结点
L.head->prior = NULL; //头结点前无其他结点
L.tail = L.head; //尾结点指针也指向头结点
L.pCurNode = L.head; //当前指针也指向头结点
L.length